74 votes

Une tâche cron qui ne sera jamais exécutée

Existe-t-il un moyen de créer une expression cron pour ne pas exécuter la tâche du tout ?

J'ai pensé à utiliser cette expression :

0 0 0 1 1 ? 3099

...ce qui fera pratiquement l'affaire puisqu'il fonctionnera en l'an 3099, mais y a-t-il un moyen plus propre de le faire ?

98voto

Eric Tjossem Points 2006

Si vous êtes toujours à la recherche de quelque chose de robuste, même dans un futur lointain, essayez https://stackoverflow.com/a/13938099/1601531 où je suggère l'utilisation de 31 février dans des entrées crontab qui ne sont jamais destinées à être exécutées.

0 0 5 31 2 ?

13voto

Tim Iles Points 446

J'avais besoin d'un programme cron valide ( ? syntaxe ne fonctionnant pas dans mon système) qui résout les dates réelles, mais pour être effectivement "jamais". Ma meilleure solution actuelle était de choisir l'année bissextile la plus récente et de voir quel jour tombait le 29 février. Le 29 février 2016 était un lundi, donc le prochain lundi 29 février est actuellement le plus éloigné.

0 0 29 2 1 donne les 5 prochains déclenchements comme :

02/29/2044 00:00:00Z
02/29/2072 00:00:00Z
02/29/2112 00:00:00Z
02/29/2140 00:00:00Z
02/29/2168 00:00:00Z

Pas parfait mais ça fera l'affaire.

2voto

Commentez-le - mettez # devant le panneau. Très utile, surtout si vous avez peur d'oublier vos modifications en l'an 3099.

Une autre possibilité est de lui faire exécuter une commande factice, comme true rm -rf / .

0voto

Chop Points 1971

J'ai créé un duplicata (cliquez ici pour voir) pour votre question, et je suis d'accord avec votre proposition initiale. Après test, il apparaît que Quartz n'exécutera jamais une expression cron dont l'année est supérieure à 2300.

-1voto

aefxx Points 10941

Ouvrir votre fichier crontab et supprimer l'entrée serait la manière adéquate. Ou vous pourriez tout aussi bien simlinker l'exécutable qui est appelé par le cronjob à un script vide du shell.

Dites-nous en plus sur votre installation, puis nous verrons ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X