La configuration de Cron s’effectue via le shell Unix. Tout d’abord, vous devez déterminer les programmes que vous souhaitez exécuter et trouver le chemin d’accès complet vers ces programmes sur le disque du serveur. Pour ce faire, accédez au répertoire où se trouve le programme que vous exécutez et recherchez le chemin d’accès complet vers ce répertoire à l’aide de la  commande pwd  . Le chemin peut ressembler à  /home/u12345/scripts/script.pl , par exemple. Assurez-vous que le fichier que vous exécutez dispose des autorisations de lecture+exécution  (r+x)  pour le propriétaire du fichier.

Vous pouvez modifier les autorisations selon vos besoins avec la commande :

chmod 750 script.pl

Ensuite, exécutez la  commande crontab -e . Vous serez dans l’éditeur de texte vi où vous pourrez saisir le texte du script cron. Brèves informations sur l’éditeur vi :

pour insérer du texte, appuyez sur i, puis saisissez du texte.
Pour supprimer des caractères, appuyez sur  ÉCHAP  , puis tapez x.
Pour quitter vi sans enregistrer les modifications, appuyez sur  ÉCHAP  , puis tapez : q !.
Pour enregistrer et quitter, appuyez sur  ÉCHAP  , puis tapez : wq.

Les tâches cron sont écrites une par ligne. Après chaque ligne, y compris après la dernière ou la seule, vous devez appuyer sur Entrée, sinon les tâches ne fonctionneront pas.

Une tâche cron ressemble à une ligne, au début il y a cinq champs obligatoires pour indiquer la fréquence de la tâche, puis il y a une commande qui doit être exécutée :

field1 field2 field3 field4 field5 command

 

Valeurs des cinq premiers champs :

  1. minutes – un nombre de 0 à 59
  2. heures – un nombre de 0 à 23
  3. jour du mois – un nombre de 1 à 31
  4. numéro du mois de l’année – un nombre de 1 à 12
  5. jour de la semaine – un nombre de 0 à 7 (0-dim,1-lun,2-mar,3-mer,4-jeu,5-ven,6-sam,7-dim)

Pour chaque paramètre spécifique, vous pouvez spécifier plusieurs valeurs séparées par des virgules. Par exemple, si vous écrivez 1,4,22 dans le champ « heures », la tâche sera lancée à 1 h, à 4 h et à 22 h. Vous pouvez définir un intervalle : 4-9 signifie que le programme doit être lancé toutes les heures dans la période de 4 à 9 heures incluses. Le symbole « * » signifie « toutes les valeurs possibles ». Par exemple, spécifier « * » dans le champ « heures » signifie « exécuter toutes les heures ». Le caractère « / » est utilisé pour indiquer une fréquence supplémentaire de la tâche. Par exemple, « */3 » dans le champ « heures » signifie « toutes les trois heures ».

Voici donc à quoi ressemble un script cron simple :

0 */3 * * 2,5 /home/u12345/script.pl

Le script  /home/u12345/script.pl  s’exécutera automatiquement toutes les trois heures les mardis et vendredis. Après avoir saisi un tel script dans l’éditeur vi, quittez-le en sauvegardant les résultats de l’édition et, si vous n’avez commis aucune erreur, la tâche sera exécutée à la fréquence spécifiée. Si des erreurs ont été commises lors de l’édition, cron vous en informera.

Exemple:

/tmp/crontab.xxxxxxx: 1 line, 9 characters.

crontab: installing a new crontab

"/tmp/crontab.xxxxxxx":1: bad minute

crontab: errors in crontab file, unable to install

Want to repeat the same edit?

Corrigez les erreurs et essayez à nouveau d’enregistrer la tâche. Vous pouvez afficher la liste des scripts déjà installés dans cron avec la commande  crontab -l :

-bash-2.05b$ crontab -l 0 */3 * * 2,5

/home/u12345/script.pl

Recommandation : si vous devez exécuter un programme une fois par jour, en particulier s’il nécessite de grandes ressources pour fonctionner, exécutez cette tâche la nuit, de 2 à 8 heures du matin, car la charge sur les serveurs à cette heure est minimale. Vous trouverez ci-dessous des exemples de tâches cron. Nous espérons que ces informations vous aideront à mieux comprendre le fonctionnement de ce programme.

# perform the task once per hour for 0 minutes

0 */1 * * * /home/u12345/script.pl

#perform the task every three hours at 0 minutes

0 */3 * * * /home/u12345/script.pl

# complete the task on Mondays at 1:15 a.m.

15 1 * * 1 /home/u12345/script.pl

# complete the task on April 5 at 0 o'clock 1 minute every year

1 0 5 4 * /home/u12345/script.pl

# complete the task on Friday the 13th at 13:13

13 13 13 * 5 /home/u12345/script.pl

#complete the task every month on the 1st at 6:10 am

10 6 1 * * /home/u12345/script.pl