Pour planifier une tache avec Cron il faut tout d’abord créer un fichier à cet endroit :

vi /etc/cron.d/monfichier

Il faut ensuite le remplir avec une ligne qui ressemble a ça :

mm hh jj MMM JJJ tâche

avec :

  • mm correspond au minutes (0 à 59)
  • hh représente l’heure (0 à 23)
  • jj  représente le numéro du jour du mois (1 à 31)
  • MMM représente le numéro du mois de l’année (1 à 12) ou l’abréviation du nom du mois : jan, feb, mar … (en anglais)
  • JJJ représente le jour de la semaine (le dimanche étant 0 ou 7, le lundi 1, etc …). Il est aussi possible d’utiliser les abréviations (sun, mon, etc…)
  • tâche représente la commande ou le script qu’on veut exécuter

LE JOKER : *

Comme dans beaucoup d’applications informatique, le joker chez Cron est l’étoile « * ». Ainsi, si vous remplacez un quelconque paramètre d’une date par une étoile, cela signifie pour cron « quelque-soit la valeur de ce paramètre ».

Pour indiquer par exemple à Cron de lancer la tâche test.sh avec les argument arg1 et arg2 chaque dimanche à 1h nous utiliserons :

00 1 * * 7 test.sh arg1 arg2

Définition de la périodicité :

La périodicité est définie en séparant les 5 unités temporelles (minutes/heures/jours/mois/années).

Pour chacune de ses unités, les syntaxes suivantes sont utilisables :

  • * : représente chaque unité de temps
  • 5 : représente une unité de temps particulière, ici la cinquième
  • 5-10 : représente un intervale, chaque unités entre 5 et 10 soit 5,6,7,8,9,10
  • */5 : représente un cycle défini, ici toutes les toutes les 5 unités soit 0,5,10,15…
  • 5,10 : représente une série définie, 5 et 10

Une fois notre fichier créé et rempli il faut recharger la configuration de Cron :

/etc/init.d/crond reload