Générateur d'expressions cron
Écrivez et lisez des plannings crontab. Saisissez une expression cron et voyez en clair quand elle s'exécute, les prochaines exécutions et ce que signifie chacun des cinq champs.
Chaque minute.
Prochaines exécutions
Les heures sont affichées dans le fuseau de votre ordinateur (). Cron utilise celui du serveur, qui n'est souvent pas le même.
Plannings courants
Choisissez-en un pour le charger dans le champ ci-dessus.
| * * * * * | Chaque minute |
| */5 * * * * | Toutes les 5 minutes |
| */15 * * * * | Toutes les 15 minutes |
| */30 * * * * | Toutes les demi-heures |
| 0 * * * * | Toutes les heures |
| 0 */2 * * * | Toutes les 2 heures |
| 0 */6 * * * | Toutes les 6 heures |
| 0 */12 * * * | Deux fois par jour |
| 0 0 * * * | Tous les jours à minuit |
| 0 9 * * * | Tous les jours à 9 h du matin |
| 0 9 * * 1-5 | Du lundi au vendredi à 9 h |
| 0 9 * * 6,0 | Samedi et dimanche à 9 h |
| 0 0 * * 1 | Tous les lundis à minuit |
| 0 18 * * 5 | Tous les vendredis à 18 h |
| 0 0 1 * * | Premier jour du mois |
| 0 0 1 1 * | Premier jour de l'année |
Ce que signifie chaque champ
| Champ | Valeurs acceptées |
|---|---|
| Minute | 0 – 59 |
| Heure | 0 – 23 |
| Jour du mois | 1 – 31 |
| Mois | 1 – 12, JAN – DEC |
| Jour de la semaine | 0 – 6, SUN – SAT (0 = 7) |
Caractères spéciaux
| Caractère | Signification |
|---|---|
| * | n'importe quelle valeur |
| , | sépare les valeurs d'une liste |
| - | un intervalle de valeurs |
| / | des pas dans un intervalle |
Raccourcis
| @yearly, @annually | 0 0 1 1 * |
| @monthly | 0 0 1 * * |
| @weekly | 0 0 * * 0 |
| @daily, @midnight | 0 0 * * * |
| @hourly | 0 * * * * |
| @reboot | — |
Ils ne font pas partie de cron POSIX, mais presque toutes les implémentations les acceptent.
Ce qui piège le plus souvent
- Quand le jour du mois et le jour de la semaine sont tous deux restreints, cron s'exécute les jours qui correspondent à l'un ou à l'autre, et non aux deux. « * * 3 * 1 » s'exécute le 3 du mois et tous les lundis. L'exception est lorsque l'un des deux commence par une astérisque : « * * */2 * 1 » ne s'exécute qu'un jour impair qui soit aussi un lundi. La page de manuel se trompe sur ce point.
- Faites tourner le serveur, et cron avec lui, en UTC. Un planning écrit dans un fuseau à heure d'été saute une exécution une fois par an et en répète une au changement suivant.
- Le cron standard n'a de champ ni pour les secondes ni pour les années. Si vous avez besoin de cette précision, cron n'est pas le bon outil.
- Évitez @reboot. Il dépend de la façon dont la machine a redémarré et des services déjà prêts à cet instant, ce qui le rend difficile à raisonner.
- Un planning qui ne tient pas en cinq champs peut se scinder en deux entrées. Pour exécuter quelque chose toutes les 90 minutes, écrivez « 0 */3 * * * » et « 30 1/3 * * * » côte à côte.
- Écrivez la commande avec des chemins absolus. Cron s'exécute avec un PATH très court et presque aucune des variables d'environnement de votre shell.
Questions fréquentes sur les expressions cron
Que signifient les cinq champs ?
Dans cet ordre : minute, heure, jour du mois, mois et jour de la semaine. Un champ contenant une astérisque accepte toutes les valeurs.
Dimanche, c'est 0 ou 7 ?
Les deux. La plupart des implémentations acceptent 0 et 7 pour dimanche, ainsi que les noms de trois lettres, de SUN à SAT.
Pourquoi ma tâche ne s'est-elle pas lancée à l'heure prévue ?
Les causes habituelles sont un serveur dans un autre fuseau, la règle jour du mois / jour de la semaine décrite plus haut, ou une commande qui échoue parce que cron ne charge pas le profil de votre shell.
Cette page envoie-t-elle mon expression quelque part ?
Non. L'expression est lue et les exécutions calculées dans votre navigateur ; rien n'est envoyé.