Générateur d’expressions Cron
| Champ | Plage de valeurs |
|---|---|
| Minute | 0-59 |
| Heure | 0-23 |
| Jour | 1-31 |
| Mois | 1-12 |
| Jour de la semaine | 0-7 |
*Toute valeur*/5Toutes les N unités1-5Plage1,3,5Plusieurs valeurs1-5/2Pas| cron.col_field | cron.col_expr | cron.col_meaning |
|---|
Générer, analyser et valider des tâches Cron Linux en ligne
Le générateur d’expressions Cron est un outil en ligne gratuit permettant de créer, d’analyser et de valider des tâches planifiées Cron. Il prend en charge le format standard courant à cinq champs de Linux/Unix. Vous pouvez configurer les champs minute, heure, jour du mois, mois et jour de la semaine pour créer une expression, ou saisir une expression existante afin d’en vérifier la syntaxe et les plages de valeurs, de consulter les règles d’exécution de chaque champ, d’obtenir une explication en langage naturel et de connaître la prochaine heure d’exécution. Le traitement est effectué localement dans le navigateur, sans installation de logiciel. Cet outil convient aux développeurs, aux administrateurs système et à toute personne devant configurer des tâches planifiées sur un serveur.
Fonctionnalités principales du générateur d’expressions Cron
- Génération visuelle : configurez les règles d’exécution Cron à l’aide des cinq champs : minute, heure, jour du mois, mois et jour de la semaine.
- Préréglages courants : choisissez des règles fréquentes, comme chaque minute, toutes les 5 minutes, toutes les heures, chaque jour, les jours ouvrés ou chaque mois.
- Réglages rapides : utilisez les boutons de raccourci pour sélectionner toutes les valeurs, des intervalles, des minutes précises, les jours ouvrés ou les week-ends.
- Génération en temps réel : toute modification des champs met automatiquement à jour l’expression Cron à cinq champs.
- Validation de la syntaxe : vérifiez le nombre de champs, les plages numériques, le format de l’expression et la validité des pas, avec affichage des erreurs correspondantes.
- Analyse des expressions : saisissez une expression Cron existante pour analyser les valeurs et la signification de chaque champ.
- Explication en langage naturel : convertissez les règles Cron courantes en descriptions faciles à comprendre des horaires d’exécution.
- Aperçu des exécutions : estimez la prochaine exécution et plusieurs exécutions suivantes selon le fuseau horaire local du navigateur.
- Référence syntaxique : consultez les plages des champs et les explications sur les syntaxes courantes : astérisque, pas, plages et listes.
- Copie de l’expression : copiez en un clic une expression générée ou validée afin de la coller dans la configuration du serveur.
Qu’est-ce qu’une expression Cron ?
Une expression Cron est un format de règles permettant de décrire les horaires d’exécution de tâches périodiques. Elle est couramment utilisée pour les tâches planifiées Crontab sur les systèmes Linux/Unix. Le système compare l’heure actuelle aux champs temporels de l’expression et exécute la commande ou le script indiqué lorsque les conditions de planification sont réunies.
Cet outil utilise le format Crontab courant à cinq champs de Linux/Unix. L’ordre des champs est le suivant : minute, heure, jour du mois, mois et jour de la semaine. Exemple :
0 9 * * 1-5
Cette expression indique que la tâche s’exécute à 09:00 du lundi au vendredi.
Description des cinq champs d’une expression Cron
Une expression Cron standard à cinq champs se compose de cinq champs ordonnés et séparés par des espaces.
1. Minute (Minute)
La plage autorisée est 0-59. Elle indique la minute d’exécution au cours de chaque heure. Par exemple, 0 signifie une exécution à la première minute de chaque heure, tandis que */5 signifie une exécution toutes les 5 minutes.
2. Heure (Hour)
La plage autorisée est 0-23, au format 24 heures. Par exemple, 8 représente 8 h du matin et 18 représente 18 h.
3. Jour du mois (Day of Month)
La plage autorisée est 1-31. Elle permet de définir un jour du mois. Par exemple, 1 représente le premier jour de chaque mois et 1-15 représente les jours du 1er au 15. Lors de l’exécution réelle, les dates inexistantes ne correspondent pas ; février ne comporte par exemple aucun 31e jour.
4. Mois (Month)
La plage autorisée est 1-12, correspondant à janvier à décembre. Par exemple, 1 représente janvier de chaque année et 6,12 représente juin et décembre.
5. Jour de la semaine (Day of Week)
La plage autorisée est 0-7. Dans les implémentations Linux Cron courantes, 0 et 7 représentent tous deux le dimanche ; 1 à 6 représentent respectivement le lundi au samedi. Par exemple, 1-5 représente du lundi au vendredi et 0,6 représente le dimanche et le samedi.
Syntaxes Cron courantes
Astérisque (*)
* représente toutes les valeurs disponibles du champ. Par exemple, un * dans le champ des minutes signifie que la condition de ce champ est satisfaite chaque minute.
Pas (*/N)
*/N sélectionne les valeurs d’un champ selon l’intervalle indiqué. Par exemple, */5 dans le champ des minutes signifie toutes les 5 minutes ; */2 dans le champ des heures signifie toutes les 2 heures.
Plage (A-B)
A-B représente toutes les valeurs comprises dans une plage donnée. Par exemple, 9-17 dans le champ des heures représente les heures de 9 h à 17 h.
Liste (A,B,C)
A,B,C représente plusieurs valeurs précises. Par exemple, 8,12,18 dans le champ des heures indique une exécution chaque jour à 8 h, 12 h et 18 h.
Plage avec pas (A-B/N)
A-B/N sélectionne des valeurs dans une plage donnée en appliquant le pas indiqué. Par exemple, 0-30/10 dans le champ des minutes indique une exécution aux minutes 0, 10, 20 et 30.
Pas à partir d’une valeur initiale (A/N)
A/N commence à la valeur initiale indiquée et augmente selon le pas spécifié jusqu’à la valeur maximale autorisée du champ. Par exemple, 5/10 dans le champ des minutes indique une exécution aux minutes 5, 15, 25, 35, 45 et 55.
Exemples de génération et d’analyse d’expressions Cron
Exécution chaque minute
* * * * * indique que la tâche s’exécute chaque minute.
Exécution toutes les 5 minutes
*/5 * * * * indique que la tâche s’exécute aux minutes 0, 5, 10, 15, etc. de chaque heure.
Exécution toutes les heures
0 * * * * indique que la tâche s’exécute à la minute 0 de chaque heure.
Exécution chaque jour à 8 h
0 8 * * * indique que la tâche s’exécute chaque jour à 08:00.
Exécution à 9 h les jours ouvrés
0 9 * * 1-5 indique que la tâche s’exécute à 09:00 du lundi au vendredi.
Exécution chaque lundi à 9 h
0 9 * * 1 indique que la tâche s’exécute chaque lundi à 09:00.
Exécution à minuit le premier jour de chaque mois
0 0 1 * * indique que la tâche s’exécute à 00:00 le premier jour de chaque mois.
Exécution à plusieurs heures chaque jour
0 8,12,18 * * * indique que la tâche s’exécute chaque jour à 08:00, 12:00 et 18:00.
Règles de correspondance entre le jour du mois et le jour de la semaine
Dans la sémantique courante de Vixie Cron, lorsque les champs du jour du mois et du jour de la semaine sont tous deux limités à des valeurs précises, ils sont associés par une relation OU, et non par une condition exigeant que les deux soient satisfaits simultanément. Exemple :
0 8 1 * 1
Cette expression indique une exécution à 08:00 le premier jour de chaque mois ainsi que chaque lundi. Si le premier jour d’un mois tombe un lundi, cette date ne constitue qu’une seule correspondance : la tâche ne s’exécute pas deux fois parce que les deux conditions sont réunies.
Lorsque l’un des champs du jour du mois ou du jour de la semaine utilise *, la restriction de l’autre champ détermine les jours correspondants. Lorsque vous configurez simultanément le jour du mois et le jour de la semaine, vérifiez le résultat à l’aide de l’analyse et de l’aperçu des heures d’exécution.
Comment utiliser le générateur d’expressions Cron ?
- Ouvrez le générateur et sélectionnez les champs minute, heure, jour du mois, mois et jour de la semaine.
- Choisissez un préréglage courant ou configurez rapidement les champs à l’aide des boutons correspondants.
- L’outil génère automatiquement l’expression Cron et vérifie le format ainsi que les plages de valeurs des champs.
- Consultez la description de l’expression et vérifiez que les règles d’exécution correspondent à vos attentes.
- Cliquez sur le bouton de copie pour coller l’expression dans Linux Crontab ou dans une autre configuration de tâches planifiées compatible.
Comment analyser et valider une expression Cron ?
- Passez à l’onglet de l’analyseur.
- Saisissez l’expression Cron à cinq champs à vérifier, par exemple
0 9 * * 1-5. - L’outil vérifie le nombre de champs, leur format, leurs plages de valeurs et les paramètres de pas.
- Si l’expression est valide, consultez le contenu et la signification de chacun des cinq champs.
- Consultez la description en langage naturel ainsi que les prochaines heures d’exécution pour vérifier les règles de planification.
Si l’expression comporte un nombre incorrect de champs, contient une syntaxe non prise en charge, utilise des valeurs hors plage ou un pas invalide, l’outil affiche un message d’erreur correspondant afin de vous aider à identifier le champ à corriger.
Aperçu de la prochaine exécution Cron
Cet outil permet de prévisualiser la prochaine exécution et plusieurs exécutions suivantes d’une expression Cron afin de vérifier les règles de planification. L’aperçu utilise la date, l’heure et le fuseau horaire locaux du navigateur. Il n’est pas nécessaire d’envoyer l’expression à un serveur.
Par exemple, en saisissant 0 9 * * 1-5, vous pouvez consulter les prochaines heures d’exécution correspondant à la règle de 09:00 du lundi au vendredi. Les expressions qui spécifient un jour du mois, un mois ou un jour de la semaine peuvent également être vérifiées à l’aide de plusieurs occurrences prévues.
L’aperçu est une estimation côté client. L’exécution réelle dépend également du fuseau horaire du serveur, de l’heure système, des changements d’heure saisonniers et de l’implémentation du planificateur Cron utilisé. Avant le déploiement sur un serveur, référez-vous à l’environnement Cron réellement utilisé sur ce serveur.
Exemple d’utilisation de Linux Crontab
Sous Linux, vous pouvez utiliser crontab -e pour modifier la configuration des tâches planifiées de l’utilisateur actuel. Une tâche Cron courante à cinq champs comprend une expression temporelle et la commande à exécuter. Exemple :
*/5 * * * * /usr/bin/php /var/www/html/task.phpCet exemple indique que le script PHP s’exécute toutes les 5 minutes. En pratique, adaptez la commande aux chemins des programmes sur le serveur, à l’utilisateur d’exécution, aux variables d’environnement et aux autorisations.
Cas d’utilisation des expressions Cron
- Tâches planifiées Crontab sur les systèmes Linux et Unix.
- Exécution programmée de scripts PHP, Python, Shell et autres sur des serveurs.
- Mise à jour des données de sites web et maintenance périodique.
- Sauvegarde de bases de données et archivage planifié.
- Nettoyage des journaux, des fichiers temporaires et maintenance du système.
- Synchronisation périodique de données, appels API et tâches automatisées.
- Génération périodique de rapports et traitement de données.
- Planification de tâches répétitives dans les environnements de développement.
Précautions lors de l’utilisation d’expressions Cron
- Vérifiez que vous utilisez le format Cron à cinq champs et que la syntaxe est prise en charge par le planificateur cible.
- Vérifiez l’heure système et le fuseau horaire du serveur. Ne supposez pas que le fuseau horaire du navigateur est identique à celui du serveur.
- Lorsque le jour du mois et le jour de la semaine comportent tous deux des restrictions, tenez compte de la règle OU de la sémantique courante de Vixie Cron.
- Pour les règles portant sur les 29, 30 ou 31 de chaque mois, tenez compte du nombre réel de jours de chaque mois.
- Avec les pas, les plages et les listes, vérifiez que les valeurs de début, de fin et le pas correspondent au résultat attendu.
- Il est recommandé de valider l’expression avant son déploiement en production et de vérifier les chemins des commandes, les droits d’exécution et l’environnement d’exécution.
Périmètre de compatibilité
Cet outil prend principalement en charge les expressions Crontab standard à cinq champs de Linux/Unix : minute, heure, jour du mois, mois et jour de la semaine, ainsi que les syntaxes d’astérisque, de pas, de plage et de liste. Le champ du jour de la semaine accepte la notation courante 0-7, où 0 et 7 représentent tous deux le dimanche.
L’outil ne prend pas en charge les dialectes Cron de Quartz, Spring et autres systèmes utilisant six ou sept champs, ni les caractères spéciaux étendus tels que ?, L, W et #. La sémantique pouvant varier selon les planificateurs Cron, vérifiez les règles syntaxiques de l’environnement cible avant utilisation.
Questions fréquentes
Combien de champs comporte une expression Cron ?
Les expressions Cron standard prises en charge par cet outil comportent cinq champs : minute, heure, jour du mois, mois et jour de la semaine. Les champs sont séparés par des espaces.
Quelle expression Cron permet une exécution chaque minute ?
* * * * * indique que la tâche s’exécute chaque minute. Il s’agit d’une expression Cron courante à cinq champs.
Que signifie */5 dans une expression Cron ?
*/5 signifie qu’une valeur du champ est sélectionnée toutes les 5 unités. Par exemple, dans le champ des minutes, cela indique une exécution toutes les 5 minutes.
Quelle est la différence entre les jours de la semaine 0 et 7 dans Cron ?
Dans les implémentations Linux/Unix Cron courantes, 0 et 7 peuvent tous deux représenter le dimanche, tandis que 1 à 6 représentent le lundi au samedi.
Lorsque le jour du mois et le jour de la semaine sont tous deux définis, s’agit-il d’un ET ou d’un OU ?
Dans la sémantique courante de Vixie Cron, si les champs du jour du mois et du jour de la semaine comportent tous deux des restrictions précises, la tâche s’exécute dès que l’une ou l’autre condition est satisfaite : il s’agit donc d’une relation OU. Le comportement exact doit néanmoins être vérifié selon l’implémentation Cron cible.
Pourquoi une expression Cron est-elle validée mais la tâche ne s’exécute-t-elle pas ?
Une syntaxe correcte ne garantit pas la bonne exécution d’une tâche. Vérifiez également le fuseau horaire et l’heure du serveur, l’état du service Crontab, l’utilisateur d’exécution, les chemins absolus des commandes, les autorisations des fichiers et l’environnement d’exécution du programme.
Cet outil prend-il en charge Quartz Cron ?
Non. Cet outil est principalement destiné au format Crontab standard à cinq champs de Linux/Unix. Les expressions Quartz courantes utilisent six ou sept champs et prennent en charge des syntaxes étendues telles que ?, L, W et # ; elles nécessitent un outil dédié aux expressions Quartz.
Pourquoi l’heure de la prochaine exécution peut-elle différer de l’exécution réelle sur le serveur ?
Cet outil calcule l’aperçu selon le fuseau horaire local du navigateur, tandis que le serveur peut utiliser un autre fuseau horaire, une autre heure système ou une autre implémentation Cron. Les changements d’heure saisonniers et les règles propres au planificateur peuvent également modifier les heures d’exécution réelles. En production, le résultat du planificateur du serveur doit donc faire foi.
Résumé
Le générateur d’expressions Cron réunit la création de règles planifiées, l’analyse des expressions, la validation de la syntaxe et l’aperçu des heures d’exécution. Grâce à la configuration des cinq champs, aux préréglages courants, aux réglages rapides et aux explications en langage naturel, il facilite la création et la vérification des tâches planifiées Linux Crontab. Qu’il s’agisse de scripts serveur, de sauvegardes de bases de données, de maintenance de sites web ou de planification automatisée, cet outil vous permet de générer rapidement des expressions Cron adaptées.
Outil de génération et d’analyse d’expressions Cron
- Configure les cinq champs : minute, heure, jour du mois, mois et jour de la semaine
- Propose des préréglages Cron courants et des réglages rapides pour les champs
- Génère et valide automatiquement les expressions Cron, et vérifie le nombre de champs, le format, les plages et les pas
- Analyse les expressions personnalisées et affiche la signification de chaque champ ainsi qu’une description en langage naturel
- Explique la règle de correspondance OU entre le jour du mois et le jour de la semaine
- Prévisualise la prochaine exécution et plusieurs exécutions suivantes
- Estime les heures d’exécution selon le fuseau horaire local du navigateur
- Convient à Linux Crontab, aux scripts serveur et aux tâches planifiées automatisées