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

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:linux:crontab [2008/06/23 17:57]
benoit
informatique:linux:crontab [2018/09/06 19:10] (Version actuelle)
Ligne 7: Ligne 7:
 Afin d'​éditer la table cron (pour l'​utilisateur courant), il suffit d'​exécuter la commande suivante : Afin d'​éditer la table cron (pour l'​utilisateur courant), il suffit d'​exécuter la commande suivante :
   crontab -e   crontab -e
-Cette commande a pour effet de lancer l'​éditeur par défaut (en général [[vi (unix)|vi]]) présentant la table actuelle (donc aucune s'il s'agit du premier lancement de crontab).+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). 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.1214236634.txt.gz · Dernière modification: 2018/09/06 18:59 (modification externe)