Générateur crontab

Choisir Linux, Spring ou Quartz, construire l’horaire, puis copier l’expression ou la ligne entière. Expliquer une expression déjà écrite

Expliquer une expression déjà écrite

Une ligne crontab à partir d’un horaire

Cette page construit une crontab Linux : cinq champs, ou un raccourci comme @daily. Vous choisissez la fréquence, vous pouvez ajouter la commande, puis copier la ligne. Elle n’installe pas la tâche. Format écrit aussi Spring et Quartz : les secondes 0 devant, et pour Quartz un ? avec des noms comme MON-FRI. Pour expliquer une expression déjà écrite, utilisez Expliquer une expression déjà écrite. Les estampilles sont l’horodatage Unix.

Comment l’utiliser

  1. Format vaut Linux Crontab (5), Spring @Scheduled (6) ou Quartz (6–7). La ligne sous le menu donne l’ordre des champs et quel numéro est le dimanche. Horaire s’ouvre sur Chaque jour. Heure vaut 2 et Minute vaut 0, donc l’expression est 0 2 * * * et la phrase dit chaque jour à 02:00.
  2. Horaire peut être Chaque minute, Toutes les N minutes, Chaque heure, Toutes les N heures, Chaque jour, Jours de la semaine, Jour du mois, Une fois par an, ou Raccourci (@daily). Toutes les N minutes montre Tous les et le mot minutes. Chaque heure montre Minute. Toutes les N heures montre Minute et Tous les, avec le mot heures. Chaque jour montre Heure et Minute. Jours de la semaine montre Heure, Minute et les boutons lundi à dimanche ; au moins un doit être allumé. Jour du mois montre Heure, Minute et Jour. Une fois par an montre aussi Mois. Raccourci liste @reboot, @hourly, @daily, @weekly, @monthly et @yearly. Ces raccourcis n’apparaissent que si Format est Linux. Spring et Quartz gardent la même heure et ajoutent les secondes.
  3. Commande peut rester vide. /usr/bin/backup.sh se place après l’expression sur Ligne crontab. Mettre à jour en tapant est coché. S’il est décoché, Générer ne court qu’une fois.
  4. Copier l’expression copie les cinq champs ou le raccourci. Copier la ligne copie l’expression plus la commande. Copier le résultat copie la phrase et 10 prochains déclenchements. Afficher un exemple met Jours de la semaine sur lundi–vendredi à 02:00 et la commande /usr/bin/backup.sh. L’expression est 0 2 * * 1-5, la ligne 0 2 * * 1-5 /usr/bin/backup.sh. Les boutons sous le formulaire en chargent d’autres : toutes les 15 minutes */15 * * * *, chaque jour à 02:00 avec la même commande 0 2 * * * /usr/bin/backup.sh, jours ouvrés à 09:00 0 9 * * 1-5, week-end à 09:00 0 9 * * 0,6, lundi mercredi vendredi à 09:00 0 9 * * 1,3,5, le 1er à minuit 0 0 1 * *, le 1er janvier 0 0 1 1 *, toutes les 2 heures à la minute 30 30 */2 * * *, @daily, @weekly (dimanche à 00:00) et @reboot. Le lien à côté ouvre l’explication. Tout effacer remet Chaque minute et vide la commande. L’expression est * * * * *.

Ce que veulent dire les champs

L’expression est minute, heure, jour du mois, mois, jour de la semaine. Dimanche est 0, lundi est 1, samedi est 6. Des jours qui se suivent prennent un tiret : lundi–vendredi est 1-5. Des jours séparés prennent des virgules, par exemple 1,3,5. Les sept jours deviennent *. Format Linux écrit ces cinq champs. Format Spring place 0 devant pour les secondes et garde les numéros de jour. Format Quartz place 0 devant, écrit ? sur le jour ou le jour de semaine, et transforme les numéros en SUN–SAT, parce que Quartz numérote dimanche 1.

Toutes les N minutes s’écrit */N * * * *. Toutes les N heures, c’est la minute M des heures 0, N, 2N, et ainsi de suite : M */N * * *. Le jour 31 ne tombe que dans les mois qui ont un 31. Février est sauté. La commande n’est pas vérifiée. Elle tient sur une ligne. La page n’installe pas la tâche.

@reboot part au démarrage et n’a pas d’heure, donc pas de 10 prochains déclenchements. @hourly est 0 * * * *. @daily est 0 0 * * *. @weekly est le dimanche à 00:00, 0 0 * * 0, pas le lundi. @monthly est 0 0 1 * *. @yearly est 0 0 1 1 *. La phrase dit Identique à et ces cinq champs. 10 prochains déclenchements utilise l’heure locale de cet ordinateur. La machine qui lance crontab peut être dans un autre fuseau.

Où cela sert

  • Une sauvegarde chaque jour à 02:00 : 0 2 * * * /usr/bin/backup.sh.
  • Un travail les jours ouvrés à 09:00 : 0 9 * * 1-5.
  • @daily quand minuit sur cette machine convient.

Questions

Pourquoi @weekly tombe-t-il le dimanche ?

Vixie cron définit @weekly comme dimanche à 00:00. Pour lundi, choisissez Jours de la semaine et allumez lundi. Si l’heure reste 00:00, l’expression est 0 0 * * 1.

Cela produit-il une expression Quartz ?

Oui. Mettez Format sur Quartz. Chaque jour à 02:00 devient 0 0 2 * * ?. Lundi–vendredi devient MON-FRI. Expliquer une expression déjà écrite lit toujours une expression que vous collez.

Le prochain passage ne suit pas UTC.

10 prochains déclenchements utilise l’horloge de cet ordinateur. Une crontab sur un serveur utilise le fuseau du serveur.

Le 31 n’apparaît pas en février.

Ce mois n’a pas de 31, il est sauté. La liste montre le prochain mois qui a ce jour.