Outils pour utilisateurs

Outils du site


informatique:linux:crontab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
informatique:linux:crontab [2008/06/23 15:56] – créée benoitinformatique:linux:crontab [2011/02/07 04:51] (Version actuelle) – /home/backup/backup.sh system benoit
Ligne 3: Ligne 3:
   crontab -l   crontab -l
 Cette commande ne permet pas d'afficher la crontab centralisée (/etc/crontab). Cette commande ne permet pas d'afficher la crontab centralisée (/etc/crontab).
 +
 +=== Modification === 
 +Afin d'éditer la table cron (pour l'utilisateur courant), il suffit d'exécuter la commande suivante :
 +  crontab -e
 +Cette commande a pour effet de lancer l'éditeur par défaut (en général [[vi|vi]]) présentant la table actuelle (donc aucune s'il s'agit du premier lancement de crontab).
 +Cette commande ne permet pas de modifier la crontab centralisée (/etc/crontab).
 +
 +Chaque entrée de la table (chaque ligne) correspond à une tâche à exécuter et est notée de la façon suivante :
 +
 +  mm hh jj MMM JJJ tâche > log
 +
 +Dans cette syntaxe:
 +
 +  * 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) ou l'abréviation du nom du mois (jan, feb, mar, apr, ...)
 +  * JJJ représente l'abréviation du nom du jour ou le chiffre correspondant au jour de la semaine (0 représente le dimanche, 1 représente le lundi, ...)
 +  * tâche représente la commande ou le script shell à exécuter
 +  * log représente le nom d'un fichier dans lequel stocker le journal des opérations. Si la clause> log n'est pas spécifiée, cron enverra automatiquement un courriel de confirmation. Pour éviter cela il suffit de spécifier > /dev/null
 +
 +Pour chaque unité de temps (minute/heure/...) les notations sont possibles:
 +
 +  * * : a chaque unité de temps
 +  * 2-5 : les unités de temps (2,3,4,5)
 +  * */3 : toutes les 3 unités de temps (0,3,6,...)
 +  * 5,8 : les unités de temps 5 et 8
 +
 +Si sur la même ligne on trouve précisées une unité de temps "numéro du jour du mois" et une unité de temps "jour de la semaine", celles-ci sont considérées par crontab comme cumulatives.
 +
 +=== Exemples ===
 +
 +Imaginons que l'on veuille faire un journal (dans le fichier /tmp/log_df.txt par exemple) automatisé de l'espace disque libre (commande df[1]) à des intervalles de temps précis:
 +
 +  * Tous les jours à 23h30: ''30 23 * * * df >>/tmp/log_df.txt''
 +  * Toutes les heures, passées de 5 minutes : ''5 * * * * df >>/tmp/log_df.txt''
 +  * Tous les premiers du mois à 23h30: ''30 23 1 * * df >>/tmp/log_df.txt''
 +  * Tous les lundis à 22h28: ''28 22 * * 1 df >>/tmp/log_df.txt''
 +  * Du 2 au 5 de chaque mois à 10h12 : ''12 10 2-5 * * df >>/tmp/log_df.txt''
 +  * Tous les jours pairs du mois à 23h59 : ''59 23 */2 * * df >>/tmp/log_df.txt''
 +  * Toutes les 5 minutes : ''*/5 * * * * df >>/tmp/log_df.txt''
 +  * Tous les premiers dimanches du mois : ''1 2 * * 0 [ `/bin/date +\%d` -lt 8 ] && df >>/tmp/log_df.txt''
informatique/linux/crontab.1214236588.txt.gz · Dernière modification : (modification externe)