Как мне заставить задание cron запускаться каждые 30 минут?
Я хочу добавить crontab
запись для выполнения сценария каждые 30 минут, в час и 30 минут после часа или что-то вроде этого. У меня есть следующее, но, похоже, он не работает на 0.
*/30 * * * *
Какую строку мне нужно использовать?
Cron работает на OSX.
Ответов (6)6
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.
Если ваше задание 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, ...»
Таким образом, разделительный символ «/» всегда является лучшим выбором;