77 votes

Spécifier "toutes les valeurs impaires" dans la crontab ?

Dans la crontab, je peux utiliser un astérisque pour signifier toutes les valeurs, ou "*/2" pour signifier toutes les valeurs paires.

Existe-t-il un moyen de spécifier chaque impair valeur ? (Est-ce que quelque chose comme "1+*/2" fonctionnerait ?)

103voto

zigdon Points 8753

En fonction de votre version de cron, vous devriez être en mesure de faire (pendant des heures, par exemple) :

   1-23/2

Voir la section EXTENSIONS dans la page de manuel crontab(5) :

   Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".

Pour une solution plus portable, je pense qu'il suffit d'utiliser la liste simple :

   1,3,5,7,9,11,13,15,17,19,21,23

Mais il peut être plus facile d'envelopper votre commande dans un shell script qui sortira immédiatement s'il n'est pas appelé dans une minute étrange.

77voto

grigb Points 352

Chaque minute impaire le serait :

1-59/2 * * * * 

Toutes les minutes égales le seraient :

0-58/2 * * * *

4voto

Paul Tomblin Points 83687

Essayer

1-23/2

D'après votre question, je suppose que Vixie Cron. Je doute que cela fonctionne avec un autre cron.

3voto

erlando Points 5802

D'après le manuel, "1-23/2" (pour les heures) ferait l'affaire.

0voto

Tomas Jensen Points 1

Travaux sur Cronie Même avec un intervalle de 5 minutes, par exemple

3-58/5 * * * * /home/test/bin/do_some_thing_every_five_minute

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