Question

Dans crontab, je peux utiliser un astérisque pour désigner chaque valeur, ou "* / 2". signifier chaque valeur même.

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

Était-ce utile?

La solution

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

   1-23/2

Consultation de la section EXTENSIONS de 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 suppose que vous devez simplement utiliser la liste simple:

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

Mais il serait peut-être plus facile d’envelopper votre commande dans un script shell qui se fermera immédiatement si elle n’est pas appelée à la minute impaire.

Autres conseils

Chaque minute étrange serait:

1-59/2 * * * * 

Chaque minute égale serait:

0-58/2 * * * * 

Essayez

1-23/2

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

À la lecture du manuel "1-23 / 2" (pendant des heures) ferait l'affaire.

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

Je me rends compte que nous avons presque 10 ans, mais j’avais de la difficulté à obtenir 1-23 / 2 pour un travail toutes les deux heures aux heures impaires.

Pour tous les utilisateurs où la précision exacte en heures impaires n’est pas nécessaire. J'ai fait ce qui suit pour répondre aux besoins de mon équipe.

59 */2 * * *

Exécuter le travail toutes les deux heures, à la 59e minute.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top