Как мне заставить задание cron запускаться каждые 30 минут?

Я хочу добавить crontab запись для выполнения сценария каждые 30 минут, в час и 30 минут после часа или что-то вроде этого. У меня есть следующее, но, похоже, он не работает на 0.

*/30 * * * *

Какую строку мне нужно использовать?

Cron работает на OSX.

Ответов (6)

Решение

Делать:

0,30 * * * * your_command

crontab не понимает "интервалы", он понимает только "расписание"

действительные часы: 0-23 - действительные минуты: 0-59

пример # 1

30 * * * * your_command

это означает "запускать, когда минут каждого часа 30 " (будет работать в 1:30, 2:30, 3:30 и т. д.)

пример # 2

*/30 * * * * your_command

это означает "запускать, когда минуты каждого часа делятся на 30 без остатка " (будет выполняться в 1:30, 2:00, 2:30, 3:00 и т. д.)

пример # 3

0,30 * * * * your_command

это означает «запускать, когда минуты каждого часа равны 0 или 30 » (будет выполняться в 1:30, 2:00, 2:30, 3:00 и т. д.)

это еще один способ добиться тех же результатов, что и в примере №2

пример # 4

19 * * * * your_command

это означает «запускать, когда минута каждого часа равна 19 » (будет выполняться в 1:19, 2:19, 3:19 и т. д.)

пример # 5

*/19 * * * * your_command

это означает «запускать, когда минуты каждого часа делятся на 19 без остатка » (будет выполняться в 1:19, 1:38, 1:57, 2:19, 2:38, 2:57 и т. д.)

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

Попробуй это:

0,30 * * * * your command goes here

Согласно официальной странице руководства Mac OS X crontab (5) , / синтаксис поддерживается. Таким образом, чтобы понять, почему это не сработало, вам нужно просмотреть журналы для cron. В этих журналах вы должны найти четкое сообщение об ошибке.

Примечание: Mac OS X, похоже, использует Vixie Cron, так же, как Linux и BSD.

Вы упомянули, что используете OS X. Я использовал cronnix в прошлом. Это не так интересно, как редактировать его самостоятельно, но это помогло мне в мгновение ока узнать, что такое столбцы. Просто мысль.

Если ваше задание cron выполняется только в Mac OS X, вы можете вместо этого использовать launchd.

Из « Планирования заданий по расписанию» (официальная документация Apple) :

Примечание. Несмотря на то, что cron все еще поддерживается, не рекомендуется использовать его. Он устарел и заменен на launchd.

Вы можете найти дополнительную информацию (например, запущенную страницу Википедии ) с помощью простого поиска в Интернете.

Вы можете использовать оба символа ' , ' ИЛИ разделить ' / '.
Но " / " лучше.
Предположим, что «каждые 5 минут». Если вы используете ' , ', вам нужно написать задание cron следующим образом:

0,5,10,15,20,25,30,35,....    *      *     *   * your_command

Это означает запускать your_command каждый час в течение всех определенных минут: 0,5,10, ...

Однако, если вы используете '/', вы можете написать следующее простое и короткое задание:

*/5  *  *  *  *  your_command

Это означает, что запустите your_command в минутах, которые можно разделить на 5, или более простыми словами, «0,5,10, ...»

Таким образом, разделительный символ «/» всегда является лучшим выбором;