Указание «всех нечетных значений» в crontab?

StackOverflow https://stackoverflow.com/questions/122483

  •  02-07-2019
  •  | 
  •  

Вопрос

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

Есть ли способ указать каждый странный ценить?(Подойдет ли что-то вроде «1+*/2»?)

Это было полезно?

Решение

В зависимости от вашей версии 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

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

Другие советы

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

1-59/2 * * * * 

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

0-58/2 * * * * 

Пытаться

1-23/2

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

Когда я прочитал руководство, «1-23/2» (часы) помогло бы.

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

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

Я понимаю, что этому уже почти 10 лет, но у меня были проблемы с получением 1-23/2 за каждые два часа нерегулярной работы.

Для всех пользователей, где, точный точность нечетного часа не требуется.Я сделал следующее, что соответствовало потребностям моей команды.

59 */2 * * *

Выполняйте задание каждые два часа, на 59-й минуте.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top