Français

Outils de développement · Générateur Crontab

Comment fonctionnent les cinq champs crontab : minute, heure, jour, mois, jour de la semaine

· Comment ça marche

cron Calendrier planification workflow de développeur

Cinq positions d'une planification cron alignées avec les symboles d'horloge et de calendrier
Illustration vectorielle originale de ToolAcre

Chaque planification cron comprend cinq champs de position et l'ordre ne change jamais. Cet article explique la plage de chaque champ, le cas particulier du dimanche et comment une ligne devient un ensemble de minutes correspondantes.

Une sauvegarde qui doit s'exécuter à 02 :30 chaque nuit – et cinq étoiles que vous ne savez pas comment remplir

Vous avez besoin d'une sauvegarde à 02 :30 tous les soirs, mais continuez à mélanger laquelle des cinq étoiles possède l'heure. Cron est positionnel : un nombre dans la mauvaise colonne produit un calendrier différent tout en semblant superficiellement valide. Commencez par l’heure à laquelle le travail doit être exécuté, le fuseau horaire de la machine et le propriétaire de la crontab ; alors seulement, remplissez les champs. ToolAcre peut analyser et décrire une expression, mais il n'installe pas le travail ni n'exécute votre commande de sauvegarde.

Champs de position, ordre fixe : minute, heure, jour du mois, mois, jour de la semaine, puis la commande

Une ligne crontab utilisateur contient une minute, une heure, un jour du mois, un mois, un jour de la semaine, puis une commande. Dans 30 2 * * * backup.sh, 30 est la minute et 2 est l'heure : 02:30 chaque jour sous le fuseau horaire de cet environnement cron. La commande n'est pas un sixième champ temporel. /etc/crontab à l'échelle du système peut inclure un champ utilisateur avant la commande, c'est pourquoi copier aveuglément une entrée système dans votre crontab personnelle peut exécuter une commande involontaire.

Plages de chaque champ : 0 à 59, 0 à 23, 1 à 31, 1 à 12 et 0 à 7, 0 et 7 signifiant tous deux dimanche dans la plupart des crons.

Les minutes acceptent 0 à 59, les heures 0 à 23, le jour du mois 1 à 31, le mois 1 à 12 et le jour de la semaine 0 à 7 dans les modèles ToolAcre aux conventions de style Vixie ; 0 et 7 signifient dimanche. Un astérisque signifie toutes les valeurs de ce champ. Les plages et les listes séparées par des virgules peuvent restreindre les valeurs, mais la plage numérique d'un champ s'applique toujours. 25 en position horaire n'est pas un horaire de fin de soirée : il n'est pas valide et doit être signalé plutôt que reporté au lendemain.

Comment fonctionne la correspondance : cron se réveille chaque minute et exécute une ligne si les champs d'heure correspondent (à une exception pour les champs de deux jours)

Cron vérifie les champs correspondants à chaque minute. Les minutes, les heures et les mois doivent tous correspondre. Les champs à deux jours ont une règle spéciale dans Vixie cron : lorsque le jour du mois et le jour de la semaine sont restreints, une correspondance sur l'un ou l'autre peut déclencher la tâche, pas nécessairement sur les deux. Ainsi 0 0 13 * 5 signifie le treizième d'un mois ou chaque vendredi, pas seulement le vendredi treize. Avec des caractères génériques dans les positions diurnes, l'exemple nocturne se comporte comme prévu. La sortie explicative de l’outil rend ce choix visible avant l’installation.

Exemple concret : 30 2 * * * backup.sh — le lire à haute voix, puis écrire « les jours de la semaine à 08 :15 » à partir de zéro

Lisez 30 2 * * * backup.sh à haute voix comme « exécutez backup.sh à 02 :30 tous les jours. Pour les jours de la semaine à 08 :15, mettez la minute 15, l'heure 8, le jour/mois sans restriction et les jours de la semaine 1–5 : 15 8 * * 1-5. Collez uniquement les cinq champs de planification dans le générateur Crontab et vérifiez sa description et la liste des prochaines exécutions ; installez ensuite la commande à l'aide de votre propre éditeur crontab. Pour une sauvegarde qui s'exécute à proximité d'un changement d'heure d'été, vérifiez les horodatages de la prochaine exécution dans la zone réelle plutôt que de supposer que chaque 02:30 local existe.

Noms des mois et des jours de la semaine, y compris les plages de noms prises en charge

De nombreux dialectes cron acceptent les noms à trois lettres tels que JAN ou MON au lieu de chiffres. Les noms peuvent rendre plus clair un planning géré par l'homme, mais l'utilisation de 0/7 pour le dimanche reste courante et d'autres implémentations de cron peuvent avoir des extensions différentes. ToolAcre reconnaît les noms et plages courants de mois et de jours de la semaine tels que JAN-MAR et MON-FRI ; son analyseur accepte 15 8 * JAN-MAR MON-FRI. Une autre implémentation cron ou un planificateur cloud peut utiliser un nombre différent de champs ou d'extensions, alors consultez la grammaire de cet environnement avant d'installer la ligne.

Ce que cet aperçu ne couvre pas entièrement : les listes, les étapes et l'environnement d'exécution

Cette introduction explique la règle OU du champ journalier Vixie mais n'explore pas ses combinaisons compliquées avec des listes et des étapes, le shell/l'environnement qui exécute la commande ou le comportement d'heure d'été ; chacun peut changer si une tâche réelle s'exécute. Le validateur peut décrire un planning mais ne peut pas garantir que backup.sh existe, dispose de l'autorisation ou a écrit des sauvegardes récupérables. Testez une sauvegarde et une restauration avant de vous fier à une entrée cron de production.

À retenir : cinq champs, une grammaire - et le générateur Crontab construit l'expression et vous l'explique

Cinq positions forment une grammaire. Le générateur Crontab lit le calendrier proposé, nomme chaque champ et affiche les exécutions à venir dans une zone choisie sans rien installer sur votre système. Entrez les exemples de nuit et de semaine, comparez ce que dit l'outil avec ce que vous vouliez, puis conservez la décision de commande et de fuseau horaire avec la documentation opérationnelle du travail.