Utilisation des commandes crontab :

Visualisation de la crontab

> crontab -l

Edition de la crontab

> crontab -e
Il faut avoir un éditeur de configuré :
> export EDITOR=vi

Suppression de sa crontab

crontab -r

Afficher la crontab d'un utilisateur

crontab -u user -l

Configuration :

Syntaxe :

mm hh jj MMM JJJ tâche

# mm représente les minutes (de 0 à 59)
# hh représente l'heure (de 0 à 23)
# jj représente le numéro du jour du mois (de 1 à 31) MMM représente le numéro du mois (de 1 à 12)
# JJJ représente le chiffre correspondant au jour de la semaine (0 =dimanche, 1 = lundi, ..., 7 = dimanche) 
# tâche représente la commande ou le script shell à exécuter

Raccourcis :

Raccourcis		Description						Equivalent
@reboot 			Au démarrage 					Aucun
@yearly 			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 * * *
@hourly 			Toutes les heures 			0 * * * *

Exemples :

Tous les jours à 20h30

30 20 * * * ls -al >> /tmp/ls

Toutes les 5 minutes

*/5 * * * * ls -al >> /tmp/ls

Tous les vendredis 13 à 10h

0 10 13 * 5 ls -al >> /tmp/ls

Tous les lundis de juin et juillet

0 0 * 6-7 1 ls -al >> /tmp/ls

Tous les lundis de juin, août et décembre

0 0 * 6,8,12 1 ls -al >> /tmp/ls

Tous les 1ers lundis de chaque mois

0 7 1-7 * * [ "$(date '+\%u')" == "1" ] && ls -al >> /tmp/ls

Désactivation de l’envoi de mail :

 >/dev/null 2>&1 		# A ajouter à la fin de la commande

Debug du script dans la crontab :

 2> /tmp/debug.log 	# A ajouter à la fin de la commande et sh -x si besoin

Attention au PATH dans le cron :

PATH=/usr/bin:/bin   Attention dans les scripts