Ajouter une tache Cron sous Debian

Vous désirez planifier des tâches récurentes? Cron est l’outil qu’il vous faut! Voici les details de son utilisation.

Pour éditer les actions du fichier crontab :

sudo crontab -e

Pour afficher le contenu du fichier crontab :

sudo crontab -l

Pour supprimer toutes les actions du fichier crontab :

sudo crontab -r

Voici de manière schématique la syntaxe à respecter d’un crontab:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  user command to be executed
mm hh jj MMM JJJ [user] tâche > log
  1. @reboot pour une tâche au redémarrage
  2. mm : minutes (00-59).
  3. hh : heures (00-23) .
  4. jj : jour du mois (01-31).
  5. MMM : mois (01-12 ou abréviation anglaise sur trois lettres : jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec).
  6. JJJ : jour de la semaine (1-7 ou abréviation anglaise sur trois lettres : mon, tue, wed, thu, fri, sat, sun).
  7. user (facultatif) : nom d’utilisateur avec lequel exécuter la tâche.
  8. tâche : commande à exécuter.
  9. > log (facultatif) : redirection de la sortie vers un fichier de log. Si un fichier de log n’est pas spécifié, un mail sera envoyé à l’utilisateur local.

Pour chaque unité, on peut utiliser les notations suivantes :

  1. 1-5 : les unités de temps de 1 à 5.
  2. */6 : toutes les 6 unités de temps (toutes les 6 heures par exemple).
  3. 2,7 : les unités de temps 2 et 7.

Envoi de mail

Par défaut, cron envoie un message à l’utilisateur qui a planifié sa tâche.

Pour ne pas envoyer de façon automatique ce message à l’utilisateur (ou utilisateur@domaine.ext si un agent tel que postfix a été configuré) il faut indiquer sur la première ligne du crontab -e

MAILTO=""

Article original