<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Programmation de démarrage de commandes</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Manuel de référence"><link rel="up" href="cmdutils.html" title="Chapitre 5. Les utilitaires en ligne de commande"><link rel="previous" href="command-find.html" title="find : rechercher des fichiers selon certains critères"><link rel="next" href="command-at.html" title="at : programmer une commande une seule fois"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Programmation de démarrage de commandes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="command-find.html">Précédent</a> </td><th width="60%" align="center">Chapitre 5. Les utilitaires en ligne de commande</th><td width="20%" align="right"> <a accesskey="n" href="command-at.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="command-sheduling"></a>Programmation de démarrage de commandes</h2></div></div><div></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="command-cron"></a>crontab : exécuter des commandes périodiques</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa88"></a> <a class="indexterm" name="BId-cmdutils-it3"></a> <span><b class="command">crontab</b></span> est une commande qui vous permet d'exécuter des commandes à des intervalles de temps réguliers, avec l'avantage supplémentaire que vous n'avez pas à être connecté au système et que la sortie de ces commandes vous est envoyée par courrier électronique. Vous pouvez spécifier les intervalles en minutes, en heures, en jours et même en mois. <span><b class="command">crontab</b></span> agira différemment en fonction des options :</p><div class="orderedlist"><ol type="1"><li><p><a name="BId-cmdutils-pa89"></a><tt class="option">-l</tt> : affiche votre fichier <tt class="filename">crontab</tt> courant. </p></li><li><p><a name="BId-cmdutils-pa90"></a><tt class="option">-e</tt> : édite votre fichier <tt class="filename">crontab</tt>. </p></li><li><p><a name="BId-cmdutils-pa91"></a><tt class="option">-r</tt> : élimine votre fichier <tt class="filename">crontab</tt> courant. </p></li><li><p><a name="BId-cmdutils-pa92"></a><tt class="option">-u <utilisateur></tt> : applique les options ci-dessus à <tt class="option"><utilisateur></tt>. Seul <b class="userinput"><tt>root</tt></b> est autorisé à faire cela.</p></li></ol></div><p><a name="BId-cmdutils-pa93"></a>Commençons par éditer un fichier <tt class="filename">crontab</tt>. En tapant <span><b class="command">crontab -e</b></span>, vous vous retrouverez en face de votre éditeur de texte préféré si vous avez initialisé la variable d'environnement <tt class="varname">EDITOR</tt> ou <tt class="varname">VISUAL</tt>, autrement c'est <span class="application">Vi</span> qui sera utilisé. Une ligne dans un fichier <tt class="filename">crontab</tt> est composée de six champs. Les cinq premiers sont les intervalles de temps en minutes, heures, jours dans le mois, mois et jours dans la semaine. Le sixième champ est la commande à exécuter. Les lignes commençant par un <tt class="literal">#</tt> sont considérées comme des commentaires et seront ignorées par <span><b class="command">crond</b></span> (le programme en charge d'exécution des fichiers <tt class="filename">crontab</tt>). Voici un exemple de fichier <tt class="filename">crontab</tt> : </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p><a name="BId-cmdutils-pa94"></a>afin de pouvoir imprimer l'extrait qui suit dans une police de caractères lisible, il nous a fallu ventiler les lignes les plus longues. C'est pourquoi certaines portions du texte doivent en réalité n'occuper qu'une seule ligne. Quand vous verrez le caractère <span><b class="keycap">\</b></span> terminer une ligne, cela signifiera qu'il faut considérer que la ligne se poursuit au-delà. Cette convention fonctionne dans les fichiers de type <tt class="filename">Makefile</tt> et dans le <span class="foreignphrase"><i class="foreignphrase">shell</i></span>, ainsi que dans d'autres cadres.</p></td></tr></table></div><p> </p><p><a name="BId-cmdutils-pa95"></a> <a name="BId-cmdutils-sc12"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen"># Si vous ne voulez pas recevoir de courrier, # "décommentez" la ligne suivante #MAILTO="" # # Faire un rapport de toutes les nouvelles images # à 14h tous les deux jours, en partant de # l'exemple ci-dessus --- après ceci, # "retoucher" le fichier "stamp". Le "%" est # traité comme un retour chariot, cela vous # permet de mettre plusieurs commandes sur la # même ligne. 0 14 */2 * * find /shared/images \ -cnewer /shared/images/stamp \ -a -iregex ".*\.jpe?g" \ -a -not -regex \ ".*/old/.*"%touch /shared/images/stamp # # Jouer une mélodie tous les ans à Noël :) 0 0 25 12 * mpg123 $HOME/musiques/joyeux_noel.mp3 # # Imprimer la liste des courses tous les mardis # à 17 heures... 0 17 * * 2 lpr $HOME/liste-courses.txt </pre></td></tr></table><p> </p><p><a name="BId-cmdutils-pa96"></a>Il y a plusieurs autres moyens de spécifier des intervalles que ceux mentionnés dans l'exemple. Par exemple, vous pouvez spécifier un ensemble de valeurs <a name="BId-cmdutils-gt7" href="glossary.html#term-discrete-values"><i class="glossterm">discrètes</i></a> séparées par des virgules (<tt class="literal">1,14,23</tt>) ou un intervalle (<tt class="literal">1-15</tt>), ou même combiner les deux (<tt class="literal">1-10,12-20</tt>), éventuellement avec un pas (<tt class="literal">1-12,20-27/2</tt>). Maintenant, il vous reste à trouver des commandes utiles à y mettre!</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="command-find.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="cmdutils.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="command-at.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">find : rechercher des fichiers selon certains critères </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> at : programmer une commande une seule fois</td></tr></table></div></body></html>