Задание "всех нечетных значений" в crontab?
В crontab я могу использовать звездочку для обозначения каждого значения, или "*/2" для обозначения любого четного значения.
Есть ли способ указать каждое значение нечетное? (Будет ли что-то вроде "1 + */2" работать?)
Ответы
Ответ 1
В зависимости от вашей версии cron вы сможете делать (часами, скажем):
1-23/2
Переход в раздел Расширения в справочной странице 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
Но может быть проще обернуть вашу команду в оболочку script, которая немедленно выйдет, если она не будет вызываться в нечетную минуту.
Ответ 2
Каждая нечетная минута была бы следующей:
1-59/2 * * * *
Каждая четная минута:
0-58/2 * * * *
Ответ 3
Try
1-23/2
С вашего вопроса, я принимаю Vixie Cron. Я сомневаюсь, что это сработает с любым другим cron.
Ответ 4
Как я читал руководство "1-23/2" (в течение нескольких часов), это сделало бы трюк.
Ответ 5
Работает на Cronie
Даже с интервалом в 5 минут, например
3-58/5 * * * * /home/test/bin/do_some_thing_every_five_minute
Ответ 6
Я понимаю, что это почти 10 лет, но у меня были проблемы с получением 1-23/2 за каждые два часа работы в неурочный час.
Для всех пользователей, где точная точность нечетного часа не требуется. Я сделал следующее, которое соответствовало потребностям моей команды.
59 */2 * * *
Выполняйте задание каждые два часа на 59-й минуте.