Notez donc que cela peut varier d'une distrib à une autre.
Il y a un fichier crontab par utilisateur, et c'est bien naturel:
ce que veut préprogrammer l'un n'est pas la même chose que ce que voudrait préprogrammer un autre utilisateur.
Amusez-vous par ex. à programmer crontab pour que Saytime vous dise l'heure à des moments précis de la journée, ou pour exécuter un updatedb une fois par jour, etc.
La structure du fichier crontab se compose d'une ligne par tâche:
- Les cinq premiers champs déterminent la fréquence d'exécution d'une tâche,
- les autres sont simplement la commande à exécuter.
Les cinq premiers champs sont:
minute (0-59)
heure (0-23)
jour du mois (1-31)
mois de l'année (1-12)
jour de la semaine (0-6, dimanche = 0)
On édite le fichier "perso" crontab de la façon suivante:
crontab -e 'enter'
i (pour entrer dans le mode "insert" de Vi/ViM)
vous pouvez maintenant entrer vos paramètres+la commande souhaitée
ESC (pour clôturer le mode "insert")
:wq 'enter' ( "w)rite" and "q)uit" ), pour sauver et quitter Vi/ViM
Voilà , vous retrouvez le prompt de la console!
Pour vérifier que ce que vous venez d'entrer a bien été pris en compte:
Pour supprimer crontab:
Exemples simples:
# Exécute 'commande' le 1er de chaque mois à 20h30
30 20 1 * * 'commande' >/dev/null 2>&1
par exemple:
30 20 1 * * /usr/bin/updatedb >/dev/null 2>&1
( si vous souhaitez être averti systématiquement par mail de l'exécution de la tâche, ne mettez pas >/dev/null 2>&1 )
# Exécute 'commande' tous les lundis à 23h30
30 23 * * 1 'commande' >/dev/null 2>&1
A noter que: "*" signifie 'pour toutes les occurences'.
On peut également spécifier des séries pour chaque champ, par exemple:
1-5 signifie de 1 Ã 5 compris
1,3,5 signifie 1, 3 et 5
2,6-12,15,20-23 signifie 2 et 6 Ã 12 et 15 et 20 Ã 23
Exemples:
# Exécute 'commande' chaque semaine, du lundi au vendredi, à 20h30
30 20 * * 1-5 'commande' >/dev/null 2>&1
# Exécute 'commande' tous les jours à 10h15 et 22h15
15 10,22 * * * 'commande' >/dev/null 2>&1
IMPORTANT:
- ne jamais éditer crontab à la main, toujours utiliser crontab -e 'enter',
- utiliser crontab -l 'enter' pour lister les tâches enregistrées, et
- crontab -r 'enter' pour supprimer le fichier crontab actuel.
- Par défaut, cron redirige son standard error vers le mail de l'utilisateur.
Cela peut devenir gènant! Donc, pour éviter une innondation de mails liés à crontab, mieux vaut placer:
'notre commande' >/dev/null 2>&1
en sachant que "2>&1" signifie rediriger le standard error (2) vers le standard output (&1).
- Il faut toujours 5 entrées:
1 0 * * *
| | | | +- jour de la semaine
| | | +--- mois de l'année
| | +----- jour du mois
| +------- heure du jour
+--------- minute
O. La Rosa - 02-06-2004 - Public - rev. 10-11-2005.
Comments (0)
You don't have permission to comment on this page.