Provided by: manpages-fr-extra_20101103_all bug

NOM

       crontab - Tables permettant de gerer le demon cron

DESCRIPTION

       Un fichier crontab contient des instructions pour le demon cron(8). Ces
       instructions ont la forme generale suivante : << lancer cette  commande
       a  telle  heure,  tel  jour >>. Chaque utilisateur dispose de sa propre
       table crontab,  et  les  commandes  contenues  dans  une  table  seront
       executees   sous   l'identifiant  du  proprietaire  de  la  table.  Les
       pseudo-utilisateurs  Uucp  et  News  disposent  generalement  de  leurs
       propres  crontabs, ce qui evite d'invoquer explicitement su(1) dans une
       commande cron.

       Les lignes blanches, les espaces et tabulations en debut de lignes sont
       ignorees.  Les  lignes dont le premier caractere non blanc est un diese
       (#)  sont  considerees  comme  des  commentaires,  et  sont   egalement
       ignorees.  Notez  que les commentaires ne peuvent pas se trouver sur la
       meme ligne qu'une commande cron, car ils seraient consideres comme  des
       parametres  de  la commande a invoquer. De meme, un commentaire ne peut
       pas se trouver  sur  la  meme  ligne  qu'une  affectation  de  variable
       d'environnement.

       Une  ligne active dans une crontab devra donc etre soit une affectation
       de  variable  d'environnement,  soit  une  commande  cron.  Une   ligne
       d'affectation d'environnement est de la forme :

           nom = valeur

       ou  les  espaces autour du signe egal (=) sont facultatives, et ou tous
       les espaces ulterieures dans valeur  feront  partie  integrante  de  la
       valeur  affectee  a  la  variable  nom.  La  chaine de valeur peut etre
       inscrite entre guillemets simples  ou  doubles  afin  de  proteger  les
       blancs initiaux et finaux. Les guillemets sont n'ecessaires pour definir
       les variables vides. La chaine valeur ne supporte pas les substitutions
       de  variable d'environnement ou le remplacement de variables, ainsi une
       ligne comme

           PATH = $HOME/bin:$PATH

       ne fonctionnera pas comme attendu. Tout comme ceci ne fonctionnera pas

           A=1
           B=2
           C=$A $B

       Il n'y aura pas de substitution pour les  variables  definies  dans  la
       derniere valeur.

       Une  alternative a la definition du chemin des commandes est d'utiliser
       le fait que de nombreux  interpreteurs  de  commandes  interpretent  un
       tilde  (<< ~ >>)  comme  substitution  de $HOME, ainsi si vous utilisez
       bash pour vos taches, vous pouvez utiliser ceci :

            SHELL=/bin/bash
            PATH=~/bin:/usr/bin/:/bin

       Plusieurs variables d'environnement sont automatiquement  definies  par
       le  demon  cron(8). SHELL prend la valeur /bin/sh, LOGNAME et HOME sont
       definies  a  partir  de  la  ligne  de  /etc/passwd  correspondant   au
       proprietaire  de  la  crontab.  PATH est definie a << /usr/bin:/bin >>.
       HOME, SHELL et PATH peuvent  etre  reaffectees  explicitement  dans  la
       crontab  contrairement  a LOGNAME, qui est l'utilisateur ayant lance la
       tache.

       (Note : la variable LOGNAME est parfois nommee USER  sur  les  systemes
       BSD. Sur ces systemes, USER doit aussi etre definie.)

       En  plus  de  LOGNAME,  HOME,  et  SHELL,  cron(8) prendra en compte la
       variable MAILTO s'il doit envoyer le resultat d'une  commande  executee
       depuis  << cette >>  crontab.  Si  MAILTO est definie (et non vide), le
       resultat est envoye a l'utilisateur indique. MAILTO peut aussi servir a
       envoyer  les  courriers  a  plusieurs  destinataires  en  separant  les
       destinataires  par  une  virgule.  Si  MAILTO  est  definie  mais  vide
       (MAILTO=""),  aucun  courriel  ne  sera envoye. Sinon, le courriel sera
       envoye au proprietaire de la crontab.

       Sur les systemes Debian GNU/Linux,  cron  gere  le  module  pam_env  et
       charge  les  variables d'environnement des fichiers /etc/environment et
       /etc/security/pam_env.conf. Les renseignements  a  propos  des  locales
       sont  aussi lus dans /etc/default/locale. Toutefois les reglages de PAM
       n'affectent pas les reglages decrits ci-dessus ni la configuration dans
       le fichier crontab. Veuillez noter en particulier que si vous voulez un
       autre PATH que << /usr/bin:/bin >>, vous devrez le mentionner  dans  le
       fichier crontab.

       Par   defaut,   cron   envoie   le   courrier  en  utilisant  l'en-tete
       "Content-type"  de  "text/plain"  avec  comme   valeur   du   parametre
       "charset="  l'encodage  utilise par crond(8) a son lancement, i.e. soit
       la locale par defaut du systeme si aucune variable d'environnement LC_*
       n'est  attribuee, soit la locale specifiee par ces variables LC_* (voir
       locale(7)). Vous pouvez utiliser un autre codage de caracteres pour les
       messages envoyes par cron en positionnant les variables CONTENT_TYPE et
       CONTENT_TRANSFER_ENCODING dans vos crontabs aux valeurs souhaitees  des
       en-tetes de message correspondants.

       Le  format  d'une  commande  cron  est tres proche du standard V7, avec
       quelques options permettant de  garder  une  compatibilite  ascendante.
       Chaque  ligne  dispose  de  5  champs  de date et d'heure, suivis d'une
       commande et enfin d'un retour a la ligne (<< \n >>). Le systeme crontab
       (/etc/crontab)  utilise  le  meme  format,  si  ce  n'est  que le champ
       utilisateur est indique apres les champs de date et d'heure mais  avant
       la  commande.  Les  champs  peuvent etre separes par des espaces ou des
       tabulations.

       Les commandes sont executees par cron(8)  lorsque  les  champs  minute,
       heure et mois de l'annee correspondent a la date actuelle, et lorsqu'au
       moins l'un des deux champs jour (jour du mois ou jour  de  la  semaine)
       correspond au jour actuel (voir << Note >> ci-dessous). cron(8) examine
       les entrees cron chaque minute. Les champs d'heure et de date sont :

              champ           valeurs autorisees
              -----           --------------
              minute          0-59
              heure           0-23
              jour du mois    1-31
              mois            1-12 (ou noms, voir ci-dessous)
              jour de semaine 0-7 (0 et 7 pour dimanche, ou utiliser les noms)

       Un  champ  peut  contenir  un  asterisque  << * >>,  qui  correspond  a
       l'intervalle << premier-dernier >>.

       Les intervalles de nombres sont permis. Ils se presentent sous forme de
       deux nombres separes par un trait d'union. Les  bornes  sont  incluses.
       Par  exemple,  l'intervalle horaire 8-11 correspond a une execution aux
       heures 8, 9, 10, et 11.

       Les listes sont permises. Une liste  est  un  ensemble  de  nombres  ou
       d'intervalles   separes   par   des  virgules.  Exemple  << 1,2,5,9 >>,
       << 0-4,8-12 >>.

       Des valeurs de << pas >> peuvent etre associees aux intervalles.  A  la
       suite d'un intervalle, un << /<nombre> >> precise le pas a adopter pour
       parcourir l'intervalle. Par exemple << 0-23/2 >> dans le champ  horaire
       demande une execution toutes les heures paires. Une alternative avec le
       standard V7 serait << 0,2,4,6,8,10,12,14,16,18,20,22 >>). Les pas  sont
       egalement  autorises  a  la  suite  d'un  asterisque.  Ainsi, pour dire
       << toutes les deux heures >>, on peut utiliser << */2 >>.

       On peut employer le nom des  mois  ou  des  jours  de  la  semaine  (en
       anglais),  en  utilisant les trois premieres lettres (pas de difference
       majuscule/minuscule). Les intervalles ou les listes de noms ne sont pas
       acceptes.

       Le sixieme champ (le reste de la ligne) indique la commande a executer.
       Tout le reste de la ligne, jusqu'au retour chariot ou au  caractere  %,
       sera  execute  par  /bin/sh, ou par le shell mentionne dans la variable
       SHELL du fichier cron. Les  signes  pourcent  (%)  dans  les  commandes
       seront  transformes  en  retour-chariot, sauf s'ils sont precede par un
       backslash \. Toutes les donnees se trouvant a la  suite  du  premier  %
       seront  transmises  a la commande sur son entree standard. Il n'est pas
       possible d'ecrire une commande sur plusieurs lignes, comme on le ferait
       dans un shell avec le \ final.

       Note :  le  jour d'execution d'une commande peut etre specifie par deux
       champs (jour du mois, et jour de la semaine). Si les deux  champs  sont
       remplis  (c.-a-d. differents de << * >>), la commande sera lancee quand
       l'un des champs au moins correspond a la date en cours. Par exemple
       << 30 4 1,15 * 5 >> executera une commande a 4 h 30 du matin les 1er et
       15 de chaque mois, ainsi que chaque vendredi. Il est toutefois possible
       d'obtenir le resultat voulu en ajoutant un test a la commande (voir  le
       dernier exemple dans la section EXEMPLE DE FICHIER CRONTAB plus bas).

       A  la  place  des  cinq  premiers champs peut apparaitre l'une des huit
       chaines speciales :

              chaine         signification
              ------         -------
              @reboot        Executer une fois au demarrage.
              @yearly        Executer une fois par an, << 0 0 1 1 * >>.
              @annually      (idem que @yearly)
              @monthly       Executer une fois par mois, << 0 0 1 * * >>.
              @weekly        Executer une fois par semaine, << 0 0 * * 0 >>.
              @daily         Executer une fois par jour, << 0 0 * * * >>.
              @midnight      (idem que @daily)
              @hourly        Executer une fois par heure, << 0 * * * * >>.

EXEMPLE DE FICHIER CRONTAB

       # Utiliser /bin/bash pour lancer les commandes, plutot que le shell par
       # defaut /bin/sh
       SHELL=/bin/bash
       # Envoyer les resultats a Paul, sans tenir compte du proprietaire
       MAILTO=paul
       #
       # Executer chaque jour, 5 minutes apres minuit
       5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
       # Executer le premier de chaque mois a 14 h 15 - Resultat envoye a Paul
       15 14 1 * *     $HOME/bin/monthly
       # Enerver Joe du lundi au vendredi a 22 h
       0 22 * * 1-5   mail -s "Il est 22 h" joe%Joe,%%Ou sont tes enfants ?%
       23 0-23/2 * * * echo "Tous les jours, 23 mn apres 0 h, 2 h, 4 h..."
       5 4 * * sun     echo "Tous les dimanches a 4 h 05"
       # Tous les deuxiemes samedis du mois
       0 4 8-15 * *    test $(date +u) -eq 6 && echo "deuxieme samedi"

EXEMPLE DE FICHIER SYST`EME CRON

       Le champ utilisateur est present, il est utilise comme dans le  fichier
       /etc/crontab.
       # /etc/crontab: crontab du systeme
       # A la difference des autres crontabs, vous n'avez pas besoin d'executer
       # la commande crontab pour installer la nouvelle version quand vous
       # modifiez ce fichier. Ce fichier possede aussi un champ utilisateur que
       # les autres crontabs n'ont pas.

       SHELL=/bin/sh
       PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

       # m h dom mon dow utilisateur commande
       42 6 * * *        root    run-parts --report /etc/cron.daily
       47 6 * * 7        root    run-parts --report /etc/cron.weekly
       52 6 1 * *        root    run-parts --report /etc/cron.monthly
       #
       # Supprime l'invocation d'anacron, puisque cela est maintenant gere par
       # un fichier dans /etc/cron.d

VOIR AUSSI

       cron(8), crontab(1)

EXTENSIONS

       Dans  la  designation du jour de la semaine, le 0 et le 7 correspondent
       tous deux au dimanche. BSD et AT&T ne  sont  pas  entierement  d'accord
       la-dessus.

       On  autorise  les  intervalles  et  les  listes  dans  le  meme  champ.
       << 1-3,7-9 >> sera rejete par le cron AT&T ou BSD, ils n'acceptent  que
       << 1-3 >> ou << 7,8,9 >>.

       Les  intervalles  peuvent  inclure  des  << pas >>,  ainsi  << 1-9/2 >>
       equivaut a << 1,3,5,7,9 >>.

       Le nom des mois ou des jours de la semaine peut etre utilise.

       Les variables d'environnement peuvent etre definies  dans  la  crontab.
       Avec  BSD  ou  AT&T,  l'environnement  transmis  aux processus fils est
       globalement celui de /etc/rc.

       La sortie des commandes est soit envoyee au proprietaire de la  crontab
       (pas  sous  BSD), soit dirigee vers une autre personne (pas sous SysV),
       soit la redirection est desactivee et aucun  courriel  ne  sera  envoye
       (pas sous SysV non plus).

       Toutes  les commandes << @ >> qui peuvent apparaitre dans l'un des cinq
       premiers champs sont des extensions.

LIMITATIONS

       Le demon cron s'execute dans un certain fuseau horaire. Il ne prend pas
       en charge la definition d'un fuseau horaire par utilisateur. Toutes les
       taches, taches  systeme  ou  taches  d'utilisateurs,  s'executeront  en
       fonction du fuseau horaire configure. Meme si un utilisateur definit la
       variable d'environnement TZ dans sa crontab, ceci n'affectera  que  les
       commandes  executee  dans  la tache, pas l'execution des taches crontab
       elles memes.

DIAGNOSTICS

       Chaque entree d'une crontab doit etre  terminee  par  un  retour  a  la
       ligne.  Si  la  derniere  entree  ne  se termine pas par un retour a la
       ligne,  cron  la  considerera  (au  moins  partiellement)  cassee.   Un
       avertissement sera ecrit dans le journal systeme (<< syslog >>).

AUTEUR

       Paul Vixie <paul@vix.com>

TRADUCTION

       Cette  page  de  manuel  a  ete  traduite et mise a jour par Christophe
       Blaess entre 1997  et  2003.   La  version  presente  dans  Debian  est
       dorenavant 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.