Provided by: manpages-fr-extra_20151231_all 

NOM
cron - Démon permettant de lancer des commandes différées (Vixie Cron)
SYNOPSIS
cron [-f] [-l] [-L niveau]
DESCRIPTION
cron est démarré automatiquement depuis un script du répertoire /etc/init.d au moment d'entrer dans un
niveau de fonctionnement multiutilisateur.
OPTIONS
-f Rester en mode « premier plan », ne pas utiliser de démon.
-l Activer les noms conformes LSB pour les fichiers du répertoire /etc/cron.d. Ce réglage n'affecte
cependant pas l'analyse des fichiers des répertoires /etc/cron.hourly, /etc/cron.daily,
/etc/cron.weekly ou /etc/cron.monthly.
-n Inclure le nom de domaine complètement qualifié (FQDN) dans le sujet lors de l’envoi de
courriers. Par défaut, cron abrège le nom d’hôte.
-L niveau
Annoncer à cron ce qu'il doit journaliser à propos des travaux (les erreurs sont journalisées
indépendamment de cette valeur) suivant la somme des éléments suivants :
1 enregistre la date de début d'exécution des travaux cron
2 enregistre la date de fin d'exécution des travaux cron
4 enregistre les travaux échoués (état de retour différent de zéro)
8 enregistre le numéro de processus des travaux cron
Par défaut, la date de début d'exécution des travaux cron est enregistrée (1). La journalisation
est désactivée si le niveau est mis à zéro (0). une valeur de quinze (15) sélectionne toutes les
options.
NOTES
cron recherche, dans le répertoire /var/spool/cron/crontabs, des fichiers de crontab ayant des noms de
compte existant dans /etc/passwd. Les crontabs trouvées sont chargées en mémoire. Veuillez noter que les
crontabs de ce répertoire ne doivent pas être accédées directement — la commande crontab doit être
utilisée pour y accéder et les mettre à jour.
cron lit également le fichier /etc/crontab, qui est dans un format légèrement différent (consultez
crontab(5)). Dans Debian, le contenu d'/etc/crontab est prédéfini pour exécuter les programmes des
répertoires /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly. Cette configuration
est spécifique à Debian, consultez la partie PARTICULARITÉS DEBIAN plus bas.
De plus, dans Debian, cron lit les fichiers du répertoire /etc/cron.d. cron traite les fichiers de
/etc/cron.d de la même manière que le fichier /etc/crontab (ils ont le même format spécial que ce
fichier, c'est-à-dire qu'ils intègrent le champ identifiant). Toutefois ils sont indépendants du fichier
/etc/crontab : par exemple, ils n'héritent pas de ses variables d'environnement. Cette modification est
spécifique à Debian, consultez la partie PARTICULARITÉS DEBIAN plus bas.
Comme le fichier /etc/crontab, les modifications des fichiers du répertoire /etc/cron.d sont surveillées.
En général, l'administrateur système ne devrait pas utiliser /etc/cron.d/ mais le système crontab
standard constitué du fichier /etc/crontab.
/etc/crontab et les fichiers du répertoire /etc/cron.d doivent appartenir au superutilisateur, et ne pas
être accessibles en écriture au groupe ni aux autres. Contrairement à ceux de l'espace spool, les
fichiers de /etc/cron.d, /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly ou /etc/cron.monthly peuvent
aussi être des liens symboliques, à condition que le lien symbolique et le fichier pointés appartiennent
au superutilisateur. Les fichiers de /etc/cron.d n'ont pas besoin d'être exécutables, alors que ceux de
/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly doivent l'être, car ils sont
exécutés par run-parts (consultez run-parts(8) pour plus de précisions).
Ensuite, cron s'éveille toutes les minutes, examine les crontabs existantes, et vérifie chaque commande
pour savoir s'il doit la lancer dans la minute à venir. Lors de l'exécution d'une commande, toute sortie
est envoyée par courrier au propriétaire de la crontab (ou à l'utilisateur dont le nom est mentionné dans
la variable d'environnement MAILTO si elle existe). Les copies des processus fils ont leur nom mis en
majuscules, observable dans le syslog et dans la sortie de la commande ps.
De plus, cron vérifie chaque minute si la date de modification de son répertoire de stockage (ou la date
de modification du fichier /etc/crontab) a changé. Si c'est le cas, cron examinera les dates de
modification de chaque fichier crontab, et rechargera ceux qui ont été modifiés. Ainsi, cron n'a pas
besoin d'être redémarré après la modification d'un fichier crontab. Remarquez que la commande crontab(1)
met à jour la date de modification du répertoire de stockage si un changement a lieu.
Il existe des dispositions spéciales lorsque l'horloge est modifiée de moins de 4 heures, par exemple au
début et à la fin de l'heure d'été. Si l'heure a été avancée, les travaux qui auraient dû être exécutés à
ce moment là le seront juste après le changement. À l'inverse, si l'heure a été retardée de moins de
3 heures, les travaux qui tombent dans cet intervalle de temps ne seront pas exécutés de nouveau.
Seuls les travaux qui sont exécutés à un moment particulier (ni indiqués par @hourly ni par « * » dans le
champ heure ou minute) sont affectés. Les travaux indiqués avec des astérisques sont exécutés
immédiatement sur la base de l'heure modifiée.
Les changements d'horloge de plus de 3 heures sont considérés comme des corrections de l'horloge, et la
nouvelle heure est utilisée immédiatement.
cron journalise ses actions à l'aide du paramètre « cron » de syslog, et la journalisation peut être
contrôlée en utilisant le système standard syslogd(8).
ENVIRONNEMENT
Dans les systèmes Debian, /etc/default/cron peut être configuré pour que les paramètres régionaux du
démon cron soient gérés en utilisant /etc/environment ou /etc/default/locale, les valeurs du dernier
étant prioritaires sur celles du premier. Ces fichiers sont lus et les définitions des variables
d'environnement LANG, LC_ALL et LC_CTYPE seront utilisées. Ces variables sont ensuite utilisées pour
configurer l'encodage des messages, « C » par défaut.
Cela n'affecte pas l'environnement des tâches exécutées par cron. Pour plus de renseignements sur la
façon de modifier l'environnement des tâches, veuillez consulter crontab(5).
Le démon utilisera, si elle existe, la définition du fuseau horaire de /etc/timezone.
L'environnement peut être redéfini dans les définitions des crontabs des utilisateurs, mais cron ne
traitera les tâches que dans un seul fuseau horaire.
PARTICULARITÉS DEBIAN
Debian introduit quelques modifications à cron qui n'étaient pas disponibles en amont à l'origine. Les
modifications les plus significatives introduites sont :
— gestion des répertoires /etc/cron.{hourly,daily,weekly,monthly} par l'intermédiaire de
/etc/crontab ;
— gestion de /etc/cron.d (répertoire de dépôt des crontabs de paquet) ;
— gestion de PAM ;
— gestion de SELinux ;
— gestion d'auditlog ;
— modifications et corrections pour l'heure d'été et autres problèmes d'heures ;
— exécution de crontab(1) avec les privilèges du groupe crontab au lieu de ceux du
superutilisateur ;
— emplacement des fichiers et commandes spécifiques à Debian ;
— configuration spécifique à Debian (/etc/default/cron) ;
— nombreuses autres fonctionnalités plus petites et corrections.
La prise en charge de /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly est
fournie dans Debian à l'aide des réglages par défaut du fichier /etc/crontab. Le fichier système crontab
par défaut contient quatre tâches, exécutées toutes les heures, tous les jours, toutes les semaines, et
tous les mois. Chacune de ses tâches exécutera run-parts avec chaque répertoire en argument. Ces tâches
sont désactivées si anacron est installé (sauf la tâche exécutée toutes les heures) pour éviter les
conflits entre les deux démons.
Conformément à la description précédente, les fichiers de ces répertoires doivent vérifier quelques
propriétés, parmi lesquelles : être exécutable, appartenir au superutilisateur, ne pas être accessible en
écriture au groupe ni aux autres et, s'il s'agit de liens symboliques, pointer vers des fichiers
appartenant au superutilisateur. De plus, les noms de fichier doivent respecter les exigences de
run-parts : ils ne doivent contenir que des caractères alphanumériques, des tirets bas (« _ ») et des
traits d’union (« - »). Les fichiers ne respectant pas ces exigences ne seront pas exécutés par
run-parts. Par exemple, les fichiers dont le nom contient un point seront ignorés. Le but est d'éviter
que cron exécute des fichiers laissés par le gestionnaire de paquet Debian lorsqu'il traite les fichiers
de /etc/cron.d/ comme des fichiers de configuration (c'est-à-dire les fichiers qui se terminent par
.dpkg-dist, .dpkg-orig et .dpkg-new).
Cette fonctionnalité peut servir aux administrateurs système et aux paquets pour réaliser des tâches qui
seront exécutées à intervalles réguliers. Les fichiers de ces répertoires créés par des paquets devraient
prendre le nom du paquet qui les fournit.
La prise en charge de /etc/cron.d est fournie par le démon cron lui-même, qui gère ce répertoire comme le
spool de crontab système. Ce répertoire peut contenir n'importe quel fichier définissant des tâches
respectant le format utilisé dans /etc/crontab, c'est-à-dire contrairement au spool de l'utilisateur, ces
fichiers doivent fournir un identifiant dans la définition de tâche pour l'exécuter.
Les fichiers de ce répertoire doivent appartenir au superutilisateur, n'ont pas besoin d'être exécutables
(ce sont des fichiers de configuration, tout comme /etc/crontab) et doivent respecter la même convention
de nommage que celle utilisée par run-parts(8) : leur nom ne doit contenir que des caractères
alphanumériques, des tirets bas et des traits d’union. Il ne doivent donc pas contenir de point. Si
l'option -l est indiquée à cron (cette option peut être configurée dans /etc/default/cron, voir
ci-dessous), alors, ils doivent respecter les conventions de nommage LSB, tout comme avec l'option
--lsbsysinit de run-parts.
L'objectif de cette fonctionnalité est de permettre aux paquets qui nécessitent un contrôle plus fin de
leur programmation que ce qui est offert par les répertoires /etc/cron.{hourly,daily,weekly,monthly},
d'ajouter un fichier crontab dans /etc/cron.d. Ces fichiers devraient prendre le nom du paquet qui les
fournit.
De plus, la configuration par défaut de cron dépend de /etc/default/cron qui est lu par le script
d'initialisation qui lance le démon cron. Ce fichier détermine si cron lira les variables d'environnement
du système et permet d'ajouter des options supplémentaires au programme cron avant qu'il ne soit exécuté,
soit pour configurer sa journalisation, soit pour définir la façon dont il traite les fichiers du
répertoire /etc/cron.d.
VOIR AUSSI
crontab(1), crontab(5), run-parts(8)
AUTEUR
Paul Vixie <paul@vix.com> est l'auteur de cron et de cette page de manuel. Cette page a ensuite été
modifiée pour Debian par Steve Greenland, Javier Fernandez-Sanguino et Christian Kastner.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe Blaess entre 1997 et 2003. La version
présente dans Debian est dorénavant maintenue par Steve Petruzzello <dlist AT bluewin DOT ch> et les
membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de
traduction par un rapport de bogue sur le paquet manpages-fr-extra.
4th Berkeley Distribution 19 avril 2010 CRON(8)