Table des matières

crontab

Nom de la section Programme Unix qui exécute toutes les minutes un ensemble de taches prédéterminées.

Sous Linux, le programme cron s'appelle crontab, concaténation de chrono table, “table de planification”. Il est exécuté par root et permet de s'adapter à l'identité à chacun des utilisateurs.

1. Liste la table des tâches

Afficher la liste des tâches pour l'utilisateur connecté

crontab -l

2. Mots clés

Des mots-clé peuvent remplacer le code horaire.

mot-clé description équivalent
@reboot Au démarrage Aucun
@yearly Tous les ans 0 0 1 1 *
@annually Tous les ans 0 0 1 1 *
@monthly Tous les mois 0 0 1 * *
@weekly Toutes les semaines 0 0 * * 0
@daily Tous les jours 0 0 * * *
@midnight Toutes les nuits 0 0 * * *
@hourly Toutes les heures 0 * * * *

3. Éditer la tables des tâches

Éditer la liste des tâches pour l'utilisateur connecté

crontab -e

L'éditeur par défaut est exécuté pour éditer la table des tâches. Il est modifiable grâce à la variable d'environnement :

$ export EDITOR=nano

4. Supprimer la tables des tâches

Supprimer la liste des tâches pour l'utilisateur connecté

crontab -r

5. Remplacer la tables des tâches

Remplacer la liste des tâches pour l'utilisateur connecté par une nouvelle table contenu dans <fichier>

crontab <fichier>

6. Journalisation

La sortie standard pour une tache cron est l'envoi d'un mail. Pour modifier la sortie, il faut utiliser la syntaxe suivante :

mm hh jj MMM JJJ tâche  > fichier1  2> fichier2

Par exemple, pour ne rien afficher :

>/dev/null 2>&1

Afficher l'horaire de la dernière tâche exécutée pour l'ensemble des utilisateurs :

ls -lut /etc/init.d/cron

Extraire du journal du système les informations concernant la table cron :

grep -w cron /var/log/syslog

7. + d'infos

Les informations de planification sont stockées dans un fichier relatif à l'utilisateur. Par exemple :

En plus, il existe un table cron centralisée dans /etc/crontab.

Pour un poste de travail ne fonctionnant pas forcément toute une journée, l'application anacron permet de lancer les commandes qui dû l'être lorsque l'ordinateur était éteint.