4 - Shell

Les crontabs

La majorité des distributions Linux et Unix inclues le daemon « Cron » qui manipule les crontabs (chrono tables). Ces « tables » permettent de programmer des travaux à exécuter de façon répétitive.

Crontab système

Chacune des tables doit contenir des lignes qui contiennent à la suite les données suivantes :

Les champs temporel peuvent-êtres divisé pour indiquer une periodicité spécial, Exemple : demander à root de ne rien faire toutes les 5 minutes :

*/5 *  * * *  root  echo -n '' >/dev/null

Les champs temporel peuvent contenir plusieurs valeurs séparé par des virgules. ou des plages séparé par des tiret. Exemple : demander à root de ne rien faire a 8h et à 18h, 19h et 20h :

* 8,18-20  * * *  root  echo -n '' >/dev/null

Dans le champ « jour de la semaine », le dimanche peut être invoqué avec deux chiffres : le 0 ou le 7

Le champ « utilisateur » indique avec quel identité la tâche sera effectuée.

Le champ « tâche » peut contenir n'importe quel ligne de commande

Crontab utilisateur

Les utilisateurs peuvent créer eux-même une crontab via la commande crontab -e. Le fichier de leur table sera stocker ici :

Les tables utilisateur non pas de champ « utilisateur ». Pour afficher la table d'un utilisateur, utilisez la commande crontab -l.

Exemples

# Tous les jours à 23 h 30 :
30 23 * * * df >> /tmp/df.log

# Toutes les heures, passées de 5 minutes :
5 * * * * df >> /tmp/df.log

# Tous les premiers du mois à 23 h 30 :
30 23 1 * * df >> /tmp/df.log

# Tous les lundis à 22 h 28 :
28 22 * * 1 df >> /tmp/df.log

# Tous les vendredis et tous les 13 de n'importe quel mois à 11 h 22 :
22 11 13 * 5 df >> /tmp/df.log

# Tous les vendredis 13 de n'importe quel mois à 11 h 22 :
22 11 13 * * [ `date '+\%w'` -eq 5 ] && df >> /tmp/df.log

# Du 2 au 5 de chaque mois à 10 h 12 :
12 10 2-5 * * df >> /tmp/df.log

# Tous les jours pairs du mois à 23 h 59 :
59 23 */2 * * df >> /tmp/df.log

# Tous les jours ouvrés à 22 heures :
0 22 * * 1-5 df >> /tmp/df.log

# Toutes les 5 minutes :
*/5 * * * * df >> /tmp/df.log

source: Wikipedia

Dossier « cronisé »

Enfin, s'ajoute quatre dossiers qui peuvent contenir des scripts, des binaires ou des liens vers ces types de fichiers et qui seront exécuter de façon périodique : chaque heures, jours, semaines ou mois.