Guides Cron
Guides

Erreurs fréquentes dans les expressions Cron

Conflit jour/jour de la semaine, mauvaise interprétation des intervalles, tâches qui se chevauchent

1. Confusion des numéros de jour de la semaine — dans cron, le jour de la semaine va de 0 à 6, et 0 correspond à dimanche. De nombreuses implémentations acceptent aussi 7 pour dimanche, mais l'erreur fréquente consiste à prendre 1 pour dimanche, ce qui décale tout d'un jour. Lundi est 1, vendredi est 5.

2. Spécifier à la fois le jour (day-of-month) et le jour de la semaine (day-of-week) — si vous donnez à ces deux champs une valeur autre que *, la plupart des cron s'exécutent dès que l'un des deux correspond (un OU, pas un ET). Exemple : 0 0 13 * 5 s'exécute « le 13 ou chaque vendredi ». Ce n'est pas « uniquement le vendredi 13 ».

3. Mauvaise interprétation de l'intervalle */n*/15 s'exécute par pas de 15 à partir de 0, c'est-à-dire aux minutes 0, 15, 30 et 45. Si vous utilisez une valeur qui ne divise pas 60, comme */40, l'exécution n'a lieu qu'aux minutes 0 et 40, puis saute à la minute 0 de l'heure suivante, rendant l'intervalle irrégulier.

4. Erreur de fuseau horaire — cron fonctionne généralement dans le fuseau horaire du serveur (le plus souvent UTC). Si vous écrivez votre expression en pensant à l'heure locale, l'exécution aura en réalité lieu à un autre moment. Les fuseaux horaires sont détaillés dans un guide séparé ci-dessous.

5. Tâches qui se chevauchent — si la durée d'exécution dépasse la prochaine heure prévue, une nouvelle tâche peut démarrer avant la fin de la précédente. Pour les tâches longues, il est plus sûr d'ajouter un verrou (lock) ou une protection contre les exécutions simultanées. Vérifiez au préalable l'expression que vous avez écrite grâce aux prochaines exécutions de l'outil ci-dessus.

Ressources

Recueil de plannings

Des recettes à copier et utiliser directement

Aide-mémoire de syntaxe

Les 5 champs et les caractères spéciaux en un coup d'œil

Macros et alias

Des expressions abrégées comme @daily

Guides

Des guides pratiques pour bien comprendre cron et éviter les erreurs