next up previous contents index
Next: Gestion des comptes utilisateurs Up: Administration système Previous: dd

       
Ordonnancement de travaux avec crontab

La commande crontab permet de lancer des commandes à intervalles réguliers ou à certaines dates. Pour l'utiliser, il faut lancer la commande crontab avec l'option -e. L'éditeur par défaut est alors appellé9.2 (vi). Il ne reste plus qu'à entrer les différents champs, dans un ordre particulier :

1.
minute (0 à 59).

2.
heure (0 à 23).

3.
jour du mois (1 à 31).

4.
mois (1 à 12), ou un nom com jan, feb...

5.
jour de la semaine (0 à 6 : 0 = Dimanche, 1 = Lundi...ou mon, tue ...).

6.
commande, telle qu'elle serait saisie sous shell.

Quitter ensuite l'éditeur (<Echap>:wq<Enter>, pour vi), et vérifier éventuellement la saisie avec la commande crontab -l.

  Voici quelque exemples sur la commande find, qui nettoie le répertoire /tmp des vieux fichiers :

L'exemple qui suit sert à vérifier tous les deux jours qu'aucun courrier n'est en attente dans la queue, et envoie un message à l'administratrur du courrier :

   

0 6 */2 * * mailq -v | mail -s "Messages bloques" postmaster

Pour ne pas recevoir de message à chaque action de crontab, et pour que tous ces messages soient redirigés vers un fichier (y compris la sortie d'erreur), entrer la commande suivante :

0 1 * * * find /tmp -atime 3 -exec rm -f {} \; >> $HOME/log 2&1

  Les variable d'environnement $USER, $HOME, et $SHELL sont reconnues par cron (le programme qui lance le démon crontab). Bien entendu, un script peut être lancé à la place d'une commande (pour une commande ou une suite de commande difficile à faire tenir en une seule ligne).

La crontab est très utile si on utilise UUCP (pour envoyer du courrier, récupérer les news...). N'importe quel utilisateur peut se créer une crontab grâce à la commande crontab.


next up previous contents index
Next: Gestion des comptes utilisateurs Up: Administration système Previous: dd
MATHIEU DECORE
1999-11-03
Merci de me dire ce que pensez de ce document.