Planifier une tâche avec Linux Debian
Commandes utiles
crontab
- Crontab possède plusieurs options dont les principales sont :
crontab -e # Editer les tâches planifiées
crontab -l # Lister les tâches planifiées
Syntaxe
Crontab est un tableau de tâches planifiées cron. Chaque colonne est séparée par un espace ou une tabulation.
Les colonnes du tableau avec leur caractéristiques syntaxiques :
mm hh jj MMM JJJ tâche
- mm = minutes (de 0 à 59)
- hh = heure (de 0 à 23)
- jj = numéro du jour du mois (de 1 à 31)
- MMM = abréviation du nom du mois (jan, feb, …) ou numéro du mois (de 1 à 12)
- JJJ =abréviation du nom du jour ou bien le numéro du jour dans la semaine :
- 0 et 7 : Dimanche
- 1 : lundi
- 2 : mardi
- 3 : mercredi
- 4 : jeudi
- 5 : vendredi
- 6 : samedi
Pour chaque valeur numérique (mm, hh, jj, MMM, JJJ) les notations possibles sont :
- * : à chaque unité (0, 1, 2, 3, 4…)
- 2,6 : les unités 2 et 6
- 1-5 : les unités de 1 à 5 (1, 2, 3, 4, 5)
- */2 : toutes les 2 unités (0, 2, 4, 6…)
- 1-20/3 : toutes les 3 unités, entre la première et la vingtième (1,4,7,10,13,16,19)
Si le « numéro du jour du mois » et le « jour de la semaine » sont indiqués sur la même ligne, ceux-ci sont considérées comme cumulatifs.
Exemples
Eviter de recevoir un courriel sur user@hostname à chaque tâche Cron qui écrit sur la sortie, on redirige vers un email valide :
On redirige vers un fichier
mm hh jj MMM JJJ tâche | mail webmaster@domaine.ext
Exemple concret 1 : pour l’exécution du script d’exécution d’Awstats pour mon serveur Web. Tous les jours à 22h30, exécute le script /home/awstats-update dont tout type de résultat est redirigé vers mon email « monemail@toto.com »
30 22 * * * /root/awstats-update | mail monemail@toto.com
Exemple concret 2 : Tous les 2e jour de chaque mois, à 22h30, exécute le script /home/awstats-update dont le résultat est redirigé vers mon fichier de log. (écrase le contenu)
30 22 2 * * /root/awstats-update > /home/monfichier.log
Exemple concret 3 : Tous les jours ouvrés (lundi au vendredi) à 22h30, exécute le script /home/awstats-update dont le résultat est redirigé vers mon fichier de log. (à la suite du contenu)
30 22 * * 1-5 /root/awstats-update >> /home/monfichier.log
Exemple concret 4 : Tous les lundis à 22h30 du mois de janvier, exécute le script /home/awstats-update dont le résultat est écrit par défaut dans la boite de l’utilisateur
30 22 * 1 1 /root/awstats-update
Exemple concret 5 : Tous les jours ouvrés (lundi au vendredi), tous les mois sauf le mois d’août, à 22h30, exécute le script /home/awstats-update dont la sortie standard est redirigée vers monfichier.log. (à la suite du contenu), et l’erreur standard est redirigée vers monfichiererreur.log (à la suite du contenu)
30 22 * 1,2,3,4,5,6,7,9,10,11,12 1-5 /root/awstats-update >> /home/monfichier.log 2>> /home/monfichiererreur.log
Retour