Sous Linux, Cron est le programme qui automatise les tâches.

Cron est le diminutif de crontab qui est le diminutif de chrono table qui signifie table de planification.

cron-job

Il est conseillé de ne pas modifier /etc/crontab directement et d’utiliser plutôt la méthode décrite dans la section suivante (crontab -e)

Pour utiliser cron, ajoutez simplement les entrées à votre fichier crontab (situé dans le répertoire /etc). Une entrée dans crontab contient deux parties et un retour à la ligne (« \n »). :

  • La première partie de l’entrée de crontab décrit quand l’action sera effectuée. Il y a cinq champs, séparés par un espace ou une tabulation, et contenant un nombre, une étoile (*), ou le texte approprié. Les champs sont, dans l’ordre2) :
    • minute,
    • heure,
    • jour du mois,
    • mois.
    • jour de la semaine
  • La seconde partie indique la commande à lancer.

Si jour du mois et mois sont définis, jour de la semaine n’est pas nécessaire. Cependant, si le champ est indiqué en plus, la commande sera executée à la date jour du mois et mois mais AUSSI tous les jour de la semaine définis. Exemple avec

0 0 13 1 5 tâche

la tâche sera exécutée le 13 janvier ET tous les vendredis.

—- L’exemple ci-dessous exécutera /usr/bin/apt-get update, chaque jour, de chaque mois à 03:05 (le cron fonctionne sur 24 h) avec les droits de l’utilisateurnomdutilisateur.

5 3  * *  * nomdutilisateur /usr/bin/apt-get update

—- Vous pouvez faire tourner cron toutes les 5 minutes tout au long de la journée de travail (9am-5pm) avec un message :

*/5 9-17 * * mon,tue,wed,thu,fri wall "Où en es tu ?"

ou vous rappeler un anniversaire à 9h du matin le 10 janvier chaque année :

0 9 10 jan  * echo "C'est l'anniversaire de ta Maman aujourd'hui !" >>~/readme

Il existe des raccourcis intéressants :

  • @reboot # se lance au reboot avec les droits utilisateurs, bien commode
  • @yearly
  • @annually
  • @monthly
  • @weekly
  • @daily
  • @midnight
  • @hourly

 

franck