Comment valider les expressions cron : un guide étape par étape
Comment valider les expressions cron
Les expressions cron sont compactes mais faciles à mal configurer. Une barre oblique mal placée ou une valeur hors plage peut entraîner l'exécution d'une tâche au mauvais moment — ou pas du tout. Valider les expressions avant le déploiement évite des heures de débogage lorsqu'une tâche critique échoue silencieusement.
Erreurs de syntaxe courantes
Valeurs hors plage
Chaque champ accepte une plage spécifique. Les valeurs en dehors de cette plage sont invalides.
# Invalide : la minute 60 est hors plage (0-59)
60 * * * *
# Invalide : l'heure 24 est hors plage (0-23)
0 24 * * *
Champs manquants
Une expression cron requiert exactement cinq champs. Quatre champs est invalide, six champs nécessite une syntaxe étendue.
# Invalide : seulement 4 champs (jour de la semaine manquant)
0 0 * *
# Invalide : syntaxe à 6 champs sans prise en charge appropriée du démon
0 0 * * * * /command.sh
Comptez toujours : minute, heure, jour du mois, mois, jour de la semaine.
Valeurs de pas incorrectes
# Invalide : impossible de faire un pas de 0
*/0 * * * *
# Invalide : le pas dépasse le maximum du champ
*/61 * * * *
Les valeurs de pas doivent commencer à 1 et ne pas dépasser le maximum du champ.
Comment valider une expression cron
Étape 1 : découper en champs
Divisez sur les espaces et vérifiez exactement cinq champs :
Expression : 30 6 * * 1-5
Champs : minute=30, heure=6, jour=*, mois=*, jour de la semaine=1-5
Étape 2 : valider chaque champ
| Champ | Plage autorisée | Accepte les caractères spéciaux |
|-------|--------------|-----------------------|
| Minute | 0-59 | * , - / |
| Heure | 0-23 | * , - / |
| Jour du mois | 1-31 | * , - / |
| Mois | 1-12 | * , - / |
| Jour de la semaine | 0-7 | * , - / |
Étape 3 : vérifier les conflits
Certaines expressions sont syntaxiquement valides mais logiquement surprenantes :
# S'exécute le 15 OU chaque dimanche — une condition OU
0 0 15 * 0
Le jour du mois et le jour de la semaine ensemble créent une condition OU dans le cron standard. La tâche s'exécute lorsque l'un des deux correspond.
Étape 4 : prévisualiser les horaires à venir
Générez les horaires d'exécution pour vérifier visuellement votre planification :
Expression : 0 2 * * 1
Prochaines 5 exécutions :
1. 2026-07-27 02:00:00 (lundi)
2. 2026-08-03 02:00:00 (lundi)
3. 2026-08-10 02:00:00 (lundi)
Si l'aperçu ne correspond pas à votre intention, corrigez l'expression avant la mise en production.
Débogage des tâches qui ne s'exécutent pas
Une expression valide qui ne s'exécute pas est généralement un problème système :
- Permissions — le script doit avoir la permission d'exécution (
chmod +x). - Chemin (Path) — cron utilise un PATH minimal. Utilisez toujours des chemins absolus :
/usr/local/bin/mybackup.shet nonmybackup.sh. - Environnement — cron ne charge pas les profils shell. Exportez les variables dans le crontab ou dans le script lui-même.
- Journalisation — redirigez la sortie pour confirmer l'exécution :
0 6 * * * /path/to/script.sh >> /var/log/cron.log 2>&1
Utilisation de l'outil validateur
Le validateur d'expressions cron offre trois fonctions :
- Validation de syntaxe — retour immédiat sur les valeurs des champs et le formatage.
- Aperçu du calendrier — visualisez les horaires d'exécution à venir à partir de la date actuelle.
- Calendrier visuel — exécutions planifiées affichées sur un calendrier mensuel.
Aucune expression cron ne devrait être déployée sans prévisualiser les prochains horaires d'exécution. Une vérification de trente secondes évite les échecs de planification silencieux.