.\" -*- coding: UTF-8 -*- .\"/* Copyright 1988,1990,1993,1994 by Paul Vixie .\" * All rights reserved .\" */ .\" .\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") .\" Copyright (c) 1997,2000 by Internet Software Consortium, Inc. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT .\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: crontab.5,v 1.6 2004/01/23 19:03:33 vixie Exp $ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CRONTAB 5 "22 novembre 2012" cronie "Formats de fichier" .SH NOM crontab — Fichiers utilisés pour planifier l'exécution de programmes .SH DESCRIPTION Un fichier \fIcrontab\fP contient des instructions pour le démon \fBcron\fP(8) sous la forme simplifiée suivante : « lancer cette commande à telle heure, tel jour ». Chaque utilisateur peut définir sa propre table crontab, et les commandes contenues dans une table seront exécutées sous l'identifiant du propriétaire de la table. Les pseudo\-utilisateurs Uucp et News disposent généralement de leur propre \fIcrontab\fP, ce qui évite d'avoir à invoquer explicitement \fBsu\fP(1) dans une commande \fBcron\fP(8). .PP Les lignes vides, les espaces en début de ligne et les tabulations sont ignorées. Les lignes dont le premier caractère autre qu'une espace est un croisillon « # » sont considérées comme des commentaires et sont également ignorées. Notez que les commentaires ne peuvent pas se trouver sur la même ligne qu'une commande \fBcron\fP(8), car ils seraient considérés comme faisant partie de la commande à invoquer. De même, un commentaire ne peut pas se trouver sur la même ligne qu'une affectation de variable d'environnement. .PP Une ligne active dans une \fIcrontab\fP est soit une affectation de variable d'environnement, soit une commande \fBcron\fP(8). Une ligne d'affectation de variable d'environnement est de la forme : .PP nom = valeur .PP où les espaces autour du signe égal « = » sont facultatives et où toutes les espaces ultérieures dans \fIvaleur\fP font partie intégrante de la valeur affectée à la variable \fInom\fP. La chaîne de \fIvaleur\fP peut être inscrite entre guillemets (simples ou doubles mais correspondants) afin de conserver les espaces initiales et finales. .PP Plusieurs variables d'environnement sont automatiquement définies par le démon \fBcron\fP(8). \fISHELL\fP prend la valeur « /bin/sh », et \fILOGNAME\fP et \fIHOME\fP sont définies à partir de la ligne de \fI/etc/passwd\fP correspondant au propriétaire de la \fIcrontab\fP. \fIHOME\fP et \fISHELL\fP peuvent être réaffectées explicitement dans la \fIcrontab\fP, \fILOGNAME\fP ne peut l'être. .PP Remarque : la variable \fILOGNAME\fP est parfois nommée \fIUSER\fP sur les systèmes BSD et est aussi définie automatiquement. .PP En plus de \fILOGNAME\fP, \fIHOME\fP et \fISHELL\fP, \fBcron\fP(8) consultera la variable \fIMAILTO\fP s'il doit envoyer le résultat d'une commande exécutée depuis « cette » \fIcrontab\fP. Si \fIMAILTO\fP est définie (et non vide), le résultat est envoyé à l'adresse indiquée. Si \fIMAILTO\fP est définie mais vide (\fIMAILTO=""\fP), aucun courrier ne sera envoyé. Sinon, le courrier sera envoyé au propriétaire de la \fIcrontab\fP. Cette option est utile si vous décidez d'utiliser /bin/mail comme expéditeur de messages à la place de /usr/lib/sendmail. Notez cependant que /bin/mail ne prend pas en charge les alias et qu'UUCP ne lit en général pas ses messages. Si \fIMAILFROM\fP est définie (et non vide), son contenu sera utilisé comme adresse d'expéditeur, sinon c'est « root » qui sera utilisé. .PP Nota : les variables \fIMAILFROM\fP et \fIMAILTO\fP sont remplacées par leur valeur, et les définir comme dans l'exemple suivant fonctionnera comme prévu : MAILFROM=cron\-$USER@cron ($USER est remplacé par l'utilisateur du système). .PP Par défaut, \fBcron\fP(8) envoie un courrier en utilisant l'en\-tête « Content\-type: text/plain » avec comme valeur du paramètre « charset= » l'encodage (« charmap/codeset ») des paramètres régionaux avec lesquels \fBcrond\fP(8) a été lancé, c'est\-à\-dire soit les paramètres régionaux par défaut du système si aucune variable d'environnement \fILC_*\fP n'est définie, soit les paramètres régionaux indiqués par ces variables \fILC_*\fP (voir \fBlocale\fP(7)). Vous pouvez utiliser un autre encodage de caractères pour envoyer les sorties de tâches de \fBcron\fP(8) par message en positionnant les variables \fICONTENT_TYPE\fP et \fICONTENT_TRANSFER_ENCODING\fP dans une \fIcrontab\fP aux valeurs souhaitées des en\-têtes de message de mêmes noms. .PP La variable \fICRON_TZ\fP spécifie le fuseau horaire spécifique à la table de \fBcron\fP(8). L'utilisateur doit saisir dans cette table une heure tenant compte du fuseau horaire spécifié. L'heure utilisée pour écrire dans un fichier journal tient compte quant à elle du fuseau horaire des paramètres locaux de la machine où le démon s'exécute. .PP La variable d'environnement \fIMLS_LEVEL\fP fournit la prise en charge de contextes de sécurité SELinux multiples par tâche dans la même \fIcrontab\fP. Par défaut, les tâches de \fBcron\fP(8) s'exécutent avec le contexte de sécurité SELinux par défaut de l'utilisateur qui a créé le fichier \fIcrontab\fP. Lorsqu'on utilise des rôles et des niveaux de sécurité multiples, cela peut ne pas suffire, car un même utilisateur peut agir sous différents rôles ou à des niveaux de sécurité différents. Pour plus d'informations à propos des rôles et de SELinux MLS/MCS, voir \fBselinux\fP(8) et l'exemple de \fIcrontab\fP mentionné plus loin dans ce document. Vous pouvez définir la variable \fIMLS_LEVEL\fP avec la chaîne du contexte de sécurité SELinux qui spécifie le contexte de sécurité SELinux particulier dans lequel vous souhaitez que les tâches soient exécutées. \fBcrond\fP va alors définir le contexte d'exécution des tâches qui vérifient les spécifications du contexte de sécurité particulier. Pour plus d'informations, voir l'option\ \-s\ de \fBcrontab\fP(1). .PP La variable \fIRANDOM_DELAY\fP permet de retarder le démarrage des tâches d'un nombre aléatoire de minutes dont la limite supérieure est spécifiée par la variable. Le facteur d'échelle aléatoire est déterminé au cours du démarrage du démon de \fBcron\fP(8) ; il reste donc constant pendant toute la durée d'exécution du démon. .PP Le format d'une commande \fBcron\fP(8) est similaire à la norme V7, avec quelques options permettant de garder une compatibilité ascendante. Chaque ligne contient cinq champs de date et d'heure, suivis d'un champ \fBnom_utilisateur\fP (s'il s'agit du fichier \fIcrontab\fP du \fBsystème\fP), lui\-même suivi d'une commande. Les commandes sont exécutées par \fBcron\fP(8) quand les champs « minute », « heure » et « mois de l'année » correspondent à la date actuelle, \fIet\fP au moins un des deux champs « jour » (« jour du mois » ou « jour de la semaine ») correspond à la date actuelle (voir la note qui suit). .PP Notez que cela signifie que les heures qui n'existent pas, comme les « heures manquantes » pendant les changements d'heure saisonniers, ne correspondront jamais, si bien que les tâches planifiées durant ces « heures manquantes » ne seront pas exécutées. De même, les heures qui surviennent plus d'une fois (là encore pendant les changements d'heure saisonniers) feront que les tâches correspondantes seront exécutées deux fois. .PP \fBcron\fP(8) examine les entrées \fBcron\fP(8) chaque minute. .PP Les champs heure et date sont : .IP .ta 1.5i champ valeurs autorisées .br \-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\- .br minute 0\-59 .br heure 0\-23 .br jour du mois 1\-31 .br mois 1\-12 (ou noms, voir ci\-dessous) .br jour de semaine 0\-7 (0 ou 7 pour dimanche, ou utiliser des noms) .br .PP Un champ peut contenir un astérisque « * » qui correspond à l'intervalle « premier\-dernier ». .PP Les intervalles de nombres sont permis. Ils se présentent sous forme de deux nombres séparés par un trait d'union. Les bornes sont comprises. Par exemple, l'intervalle 8\-11 dans le champ « heure » correspond à une exécution aux heures 8, 9, 10 et 11. Le premier nombre doit être inférieur ou égal au second .PP Il est possible de répartir aléatoirement le moment de l'exécution dans un intervalle. Un nombre aléatoire est généré dans un intervalle spécifié à l'aide de deux nombres séparés par un tilde. L'intervalle spécifié est inclusif. Par exemple, 6~15 dans le champ des minutes génère un nombre de minutes aléatoire entre 6 et 15. Le nombre aléatoire est généré lors de la lecture du fichier \fIcrontab\fP. Le premier nombre doit être inférieur ou égal au second. Vous pouvez omettre un ou les deux nombres qui spécifient l'intervalle. Par exemple, ~ dans le champ des minutes génère un nombre aléatoire de minutes entre 0 et 59. .PP Les listes sont permises. Une liste est un ensemble de nombres ou d'intervalles séparés par des virgules. Exemples : « 1,2,5,9 », « 0\-4,8\-12 ». .PP Des valeurs de « pas » peuvent être associées aux intervalles. À la suite d'un intervalle, un « / » précise le pas à adopter pour parcourir l'intervalle. Par exemple « 0\-23/2 » dans le champ heure demande une exécution toutes les heures paires. Une alternative avec la norme V7 serait « 0,2,4,6,8,10,12,14,16,18,20,22 ». Les pas sont également autorisés à la suite d'un astérisque. Ainsi, pour dire « toutes les deux heures », on peut utiliser « */2 ». Veuillez noter que les pas ne sont évalués que dans le champ auquel ils s'appliquent. Par exemple, « */23 » dans un champ des heures demande d'exécuter la tâche aux heures 0 et 23 d'un jour calendaire. Consulter la rubrique « NOTES » ci\-dessous pour un contournement. .PP On peut aussi utiliser des noms (en anglais) dans les champs des mois ou des jours de la semaine. Utilisez les trois premières lettres du jour ou du mois considéré (pas de différence capitale/minuscule). Les intervalles ou les listes de noms, comme « mon,wed,fri », « jan\-mar », sont acceptés. .PP Si l'UID du propriétaire est 0 (root), le premier caractère d'un champ de la \fIcrontab\fP peut être le caractère « \- », ce qui empêchera \fBcron\fP(8) d'écrire un message syslog à propos de la commande en cours d'exécution. .PP Le sixième champ (le reste de la ligne) indique la commande à exécuter. Tout le contenu de cette portion « commande », jusqu'au caractère nouvelle ligne ou au caractère « % », sera exécuté par \fB/bin/sh\fP ou par l'interpréteur de commande spécifié dans la variable \fISHELL\fP du fichier \fBcron\fP(8). Un caractère pourcentage « % » dans la commande est transformé en caractère nouvelle ligne, sauf s'il est précédé d'une barre oblique inversée « \e », et toutes les données se trouvant à la suite du premier « % » seront transmises à la commande sur son entrée standard. .PP Remarque : le jour d'exécution d'une commande peut être indiqué dans les deux champs « jour du mois » et « jour de la semaine ». Si les deux champs sont restrictifs (c'est\-à\-dire différents de « * »), la commande sera lancée quand \fIau moins un\fP des champs correspondra à la date actuelle. Par exemple, .br « 30 4 1,15 * 5 » exécutera une commande à 4 h 30 du matin les 1er et 15 de chaque mois, ainsi que chaque vendredi. .PP La syntaxe d'un fichier \fIcrontab\fP peut être vérifiée avant son installation en utilisant l'option \fB\-T\fP. Consulter \fBcrontab\fP(1) pour plus de détails. .SH "EXEMPLE DE FICHIER CRON" .nf # Utiliser /bin/sh pour lancer les commandes sans tenir compte de /etc/passwd SHELL=/bin/sh # Envoyer les résultats à Paul, sans tenir compte du propriétaire de la crontab MAILTO=paul # CRON_TZ=Japan # Exécuter chaque jour, 5 minutes après minuit 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # Exécuter le premier de chaque mois à 14 h 15 \- Résultat envoyé à Paul 15 14 1 * * $HOME/bin/monthly # Asticoter Joe du lundi au vendredi à 22 h 0 22 * * 1\-5 mail \-s "Il est 22 h" joe%Joe,%%Où sont tes enfants ?% 23 0\-23/2 * * * echo "exécution tous les jours, 23 mn après 0 h, 2 h, 4 h…" 5 4 * * sun echo "exécution tous les dimanches à 4 h 05" .fi .SH "Tâches dans /etc/cron.d/" Les tâches dans \fIcron.d\fP et \fI/etc/crontab\fP sont des tâches système qui sont en général accessibles à plusieurs utilisateurs, et il est donc nécessaire de leur ajouter le nom d'utilisateur. MAILTO sur la première ligne est facultatif. .SH "EXEMPLE DE TÂCHE DANS /etc/cron.d/job" .nf #se connecter en tant que root #créer une tâche avec votre éditeur préféré (par exemple vim) MAILTO=root * * * * * root touch /tmp/file .fi .SH NOTES Comme indiqué ci\-dessus, les valeurs ignorées ne fonctionnent que pendant la période à laquelle elles sont attachées. Par exemple, spécifier « 0/35 » comme champ des minutes pour une entrée de la \fIcrontab\fP ne déclenchera pas l'exécution de la tâche correspondante toutes les 35 minutes ; au lieu de cela, elle sera exécutée deux fois par heure aux minutes 0 et 35. Pour un contrôle plus fin, vous pouvez écrire quelque chose comme suit : .nf * * * * * if [ $(expr \( $(date +\%s) / 60 \) \% 58) = 0 ]; then echo exécution toutes les 58 minutes; fi 0 * * * * if [ $(expr \( $(date +\%s) / 3600 \) \% 23) = 0 ]; then echo exécution toutes les 23 h à l'heure ronde; fi .fi Ajuster selon les besoins si votre commande \fBdate\fP(1) n'accepte pas « +%s » comme spécificateur de chaîne de formatage pour afficher l'horodatage UNIX actuel. .SH "SELinux avec sécurité multi\-niveau (MLS)." Dans une \fIcrontab\fP, il est important de spécifier un niveau de sécurité à l'aide de \fIcrontab \-s\fP ou en spécifiant le niveau requis sur la première ligne de la \fIcrontab\fP. Chaque niveau est indiqué dans \fI/etc/selinux/targeted/seusers\fP. Lorsqu'on utilise \fBcrontab\fP(1) en mode MLS, il est particulièrement important de : .br \- vérifier/modifier le rôle effectif, .br \- définir le \fIrôle correct pour\fP \fIdirectory\fP qui est utilisé pour les entrées/sorties. .SH "EXEMPLE POUR SELINUX MLS" .nf # se connecter en tant que root newrole \-r sysadm_r mkdir /tmp/SystemHigh chcon \-l SystemHigh /tmp/SystemHigh crontab \-e # écrire dans le fichier crontab MLS_LEVEL=SystemHigh 0\-59 * * * * id \-Z > /tmp/SystemHigh/crontest .fi .SH FICHIERS Le fichier système principal de crontab \fI/etc/crontab\fP. Un répertoire \fI/var/spool/cron/\fP pour stocker les \fIcrontab\fP définies par les utilisateurs. Un répertoire \fI/etc/cron.d/\fP pour stocker les \fIcrontab\fP du système. .SH "VOIR AUSSI" \fBcron\fP(8), \fBcrontab\fP(1) .SH EXTENSIONS Ces « alias » spéciaux de spécification temporelle qui remplacent les cinq champs d'heure et de date initiaux et qui sont préfixés avec le caractère « @ » sont pris en charge : .PP .nf @reboot : Exécuter une fois après le démarrage. @yearly : Exécuter une fois par an, idem "0 0 1 1 *". @annually : Exécuter une fois par an, idem "0 0 1 1 *". @monthly : Exécuter une fois par mois, idem "0 0 1 * *". @weekly : Exécuter une fois par semaine, idem "0 0 * * 0". @daily : Exécuter une fois par jour, idem "0 0 * * *". @hourly : Exécuter une fois par heure, idem "0 * * * *". .fi .SH AVERTISSEMENTS Les fichiers de \fBcrontab\fP doivent être des fichiers ordinaires ou des liens symboliques vers des fichiers ordinaires et ils ne doivent être ni exécutables, ni accessibles en écriture par tout autre utilisateur que leur propriétaire. Il est possible de passer outre cette exigence en utilisant l'option \fB\-p\fP sur la ligne de commande de crond. Si inotify est pris en charge, les modifications dans les \fIcrontab\fPs liées symboliquement ne sont pas systématiquement rapportées par le démon de \fBcron\fP(8). Pour recharger les \fIcrontab\fPs, le démon de \fBcron\fP(8) doit recevoir un signal SIGHUP. Il s'agit d'une limitation de l'API inotify. .PP Chaque entrée d'une \fIcrontab\fP doit être terminée par un caractère nouvelle ligne. Si la dernière entrée d'une crontab ne se termine pas par un retour à la ligne (autrement dit se termine par EOF), \fBcron\fP la considérera (au moins partiellement) corrompue. Un avertissement sera écrit dans le journal système (« syslog »). .SH AUTEUR .MT vixie@isc.org Paul Vixie .ME .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Steve Petruzzello , Nicolas François , David Prévot et Lucien Gentis . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .