Outils pour utilisateurs

Outils du site


si-monitor_client:modeoperatoirecron

Mode opératoire tâche cron

Pour mettre en place un tâche cron, il faut tout d'abord accéder au crontab, qui liste toutes les tâches cron configurés.
Pour y accéder, il faut se connecter avec l'utilisateur qui devra exécuter la requête (www-data, postgres….) et une fois connecté lancer la commande crontab -e. Cela va afficher toutes les tâches actuellement présentes.

Pour créer une nouvelle tâche cron, il faut tout d'abord un script. Il peut être écrit en php, python, bash, ou autres tant que le système peux le lire (si les paquets sont installés). Ce script peut exécuter tous ce dont vous souhaitez, il suffit juste de le coder avec le langage de votre choix.

Une fois que vous avez écrit votre script, pour l'exécuter à une heure ou date précise, il va falloir configurer la tâche cron. Une tâche cron est composée d'une première partie qui permet d'indiquer la date à laquelle sera exécuté le script et une seconde partie composée de la commande à exécuter (du script en général).

Voici à quoi ressemble une commande en brut mm hh jj MMM JJJ tâche
mm représente les minutes (de 0 à 59)
hh représente l'heure (de 0 à 23)
jj représente le numéro du jour du mois (de 1 à 31)
MMM représente l'abréviation du nom du mois (jan, feb, …) ou bien le numéro du mois (de 1 à 12)
JJJ représente l'abréviation du nom du jour ou bien le numéro du jour dans la semaine :
0 = Dimanche, 1 = Lundi, 2 = Mardi, … , 6 = Samedi, 7 = Dimanche (représenté deux fois pour les deux types de semaine)

Pour chaque valeur numérique (mm, hh, jj, MMM, JJJ) les notations possibles sont :
* : à chaque unité (0, 1, 2, 3, 4…)
5,8 : les unités 5 et 8
2-5 : les unités de 2 à 5 (2, 3, 4, 5)
*/3 : toutes les 3 unités (0, 3, 6, 9…)
10-20/3 : toutes les 3 unités, entre la dixième et la vingtième (10, 13, 16, 19)

Exemple :

PériodicitéCode cron
Tous les ans0 0 1 1 *
Tous les mois0 0 1 * *
Toutes les semaines0 0 * * 0
Tous les jours0 0 * * *
Toutes les heures0 * * * *
Tous les jours à 23 h 3030 23 * * *
Tous les premiers du mois à 2 h 3030 2 * * *
Du 2 au 5 de chaque mois à 10 h 1212 10 2-5 * *

Une fois que la date est configurée, il faut s'occuper de la tâche. Pour la tâche il suffit d'entrer la commande que l'on souhaite exécuter. Si l'on souhaite exécuter un script php ou bash, il faut indiquer le chemin complet du script (/var/www/test.php), et pour éviter les erreurs il est conseillé de mettre la commande test avant d'exécuter le script.

0 0 * * * test -e /var/www/test.php && /usr/bin/php /var/www/test.php  

Cette commande (test -e) va d'abord tester si le fichier existe avant de l'exécuter. Il ne faut pas oublier non plus le /usr/bin/php ou /usr/bin/bash devant le script pour que le script s'exécute correctement.

Cette ligne va permettre d'exécuter tous les jours à minuit le script /var/www/test.php s'il existe.

si-monitor_client/modeoperatoirecron.txt · Dernière modification: 2020/09/04 14:47 (modification externe)