Как я получу работу cron каждые 30 минут? - PullRequest
203 голосов
/ 25 февраля 2009

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

*/30 * * * *

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

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

Ответы [ 6 ]

458 голосов
/ 25 февраля 2009

Do:

0,30 * * * * your_command
78 голосов
/ 19 ноября 2016

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 и т. Д.)

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

71 голосов
/ 25 февраля 2009

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

0,30 * * * * your command goes here

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

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

9 голосов
/ 08 марта 2009

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

С Планирование временных заданий (официальные документы Apple) :

Примечание: хотя он все еще поддерживается, cron не является рекомендуемым решением. Это устарело в пользу launchd.

Дополнительную информацию (например, launchd Wikipedia page ) можно найти с помощью простого веб-поиска.

5 голосов
/ 25 февраля 2009

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

2 голосов
/ 19 марта 2018

Вы можете использовать оба символа ', ' ИЛИ делить символы / .
Но « / » лучше.
Предположим, дело «каждые 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, ...»

Итак, делимый символ '/' всегда лучший выбор;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...