Introduction
Sous Linux, l’automatisation des tâches récurrentes est essentielle à la maintenance du système. Qu’il s’agisse d’exécuter des sauvegardes quotidiennes, de nettoyer des fichiers temporaires ou de générer des rapports hebdomadaires, ces tâches sont gérées par un utilitaire système appelé Cron.
Cron est un planificateur de tâches strictement basé sur l’heure. Il utilise une syntaxe de configuration précise pour déterminer exactement quand exécuter des commandes. La table de configuration est souvent appelée « crontab ».
Cron fait partie de la culture Unix depuis des décennies. Bien avant l’apparition des plateformes modernes de gestion des workflows et des planificateurs cloud, les administrateurs s’appuyaient sur cron pour exécuter des sauvegardes, des tâches de nettoyage, des rapports et des opérations de maintenance à des moments prévisibles.
Une entrée crontab comme 0 2 * * * peut sembler déroutante au début. Dans ce laboratoire, vous apprendrez à interpréter et à écrire cette syntaxe. Vous allez :
- Explorer le crontab du système : afficher le fichier de configuration global de cron.
- Décoder la syntaxe : comprendre les 5 champs liés à l’heure et à la date.
- Préparer une planification : construire une expression cron valide pour une tâche quotidienne.
Afficher la table cron du système
Pour comprendre rapidement la syntaxe de cron, consultez le fichier de configuration global /etc/crontab. Ce fichier contient généralement un en-tête qui explique la disposition des champs.
Ce fichier sert à la fois de configuration réelle et de référence pédagogique. De nombreux systèmes Linux y incluent des commentaires, car la syntaxe de cron est compacte et puissante, mais peut être facilement mal interprétée tant que vous ne connaissez pas l’ordre des champs.
Exécutez la commande suivante pour afficher son contenu :
cat /etc/crontab
Dans la sortie, concentrez-vous sur la section Example of job definition (les lignes peuvent varier légèrement selon la distribution) :
## .---------------- 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-name command to be executed
Ce schéma montre que chaque planification cron se compose de 5 champs suivis de la commande à exécuter :
- Minute (0-59)
- Heure (0-23, au format 24 heures)
- Jour du mois (1-31)
- Mois (1-12)
- Jour de la semaine (0-7, où 0 et 7 représentent tous deux le dimanche)
L’astérisque * est un caractère générique qui signifie « chaque » ou « tous ». Par exemple, * dans le champ du mois signifie « tous les mois ».
Les expressions cron sont compactes, car chaque champ restreint la planification. Ensemble, les champs décrivent un moment qui se répète. Les lire de gauche à droite — minute, heure, jour, mois, jour de la semaine — est l’une des habitudes les plus importantes à acquérir dès le début.
Exemple : 17 * * * * signifie « à la 17e minute de chaque heure, tous les jours ».
Préparer un fichier de syntaxe
Maintenant que vous comprenez la structure, entraînez-vous à écrire une entrée.
Vous allez créer un fichier texte pour préparer votre expression cron. Il est recommandé de procéder ainsi avant de l’ajouter au planificateur réel du système.
Cette étape de préparation est importante : une entrée cron n’est que du texte brut, mais elle produit des effets réels une fois installée. Écrire l’expression séparément vous aide à réfléchir à la planification avant de l’automatiser.
Vérifiez que vous vous trouvez dans votre dossier de projet :
cd ~/project
Créez un fichier vide nommé cron_syntax.txt :
touch cron_syntax.txt
Vérifiez qu’il existe :
ls -l cron_syntax.txt
Écrire la syntaxe d’une planification quotidienne
Votre tâche consiste à construire une expression cron pour une tâche qui doit s’exécuter « tous les jours à 2 h 00 ».
Décomposons cette exigence selon les 5 champs :
- Minute : nous voulons exactement 2 h 00. Il s’agit de la 0e minute. Valeur :
0. - Heure : nous voulons 2 h du matin, au format 24 heures. Valeur :
2. - Jour du mois : nous voulons exécuter la tâche tous les jours du mois. Valeur :
*. - Mois : nous voulons exécuter la tâche tous les mois de l’année. Valeur :
*. - Jour de la semaine : nous voulons exécuter la tâche quel que soit le jour de la semaine. Valeur :
*.
En combinant ces valeurs, l’expression obtenue est : 0 2 * * *.
Ajoutez cette syntaxe à votre fichier :
echo "0 2 * * *" >> cron_syntax.txt
Vérifiez votre entrée :
cat cron_syntax.txt
La syntaxe 0 2 * * * indique au système : « lorsque la minute est 0 ET que l’heure est 2, exécuter la commande ».
Gardez ce modèle mental : cron compare l’heure actuelle aux cinq champs. Lorsque l’heure actuelle correspond au motif, cron lance la tâche.
Résumé
Dans ce laboratoire, vous avez découvert les bases de la planification avec cron :
- Configuration du système : vous avez exploré
/etc/crontabpour voir la structure standard. - Structure des champs : vous avez identifié les 5 champs : minute, heure, jour du mois, mois et jour de la semaine.
- Écriture d’expressions : vous avez créé avec succès la syntaxe d’une tâche quotidienne (
0 2 * * *).
Comprendre cette syntaxe est essentiel pour automatiser toute tâche récurrente dans un environnement Linux.



