Les tâches planifiées avec Crontab



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