Указание "всех нечетных значений" в crontab? - PullRequest
61 голосов
/ 23 сентября 2008

В crontab я могу использовать звездочку для обозначения каждого значения или «* / 2» для обозначения каждого четного значения.

Есть ли способ указать каждое нечетное значение? (Будет ли что-то вроде "1 + * / 2" работать?)

Ответы [ 5 ]

89 голосов
/ 23 сентября 2008

В зависимости от вашей версии cron, вы должны уметь (например, часами):

   1-23/2

Переход к разделу EXTENSIONS в справочной странице crontab (5):

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

Для более портативного решения, я подозреваю, вам просто нужно использовать простой список:

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

Но может быть проще обернуть вашу команду в сценарий оболочки, который немедленно завершится, если она не будет вызвана в нечетную минуту.

57 голосов
/ 22 февраля 2011

Каждая нечетная минута будет:

1-59/2 * * * * 

Каждая четная минута будет:

0-58/2 * * * * 
2 голосов
/ 23 сентября 2008

Когда я читаю руководство "1-23 / 2" (в течение нескольких часов), все получится.

2 голосов
/ 23 сентября 2008

Попробуйте

1-23/2

Из твоего вопроса я предполагаю, что Викси Крон. Я сомневаюсь, что это будет работать с любым другим cron.

0 голосов
/ 03 мая 2012

Работает на Cronie Даже с интервалом 5 минут, например

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