2009-02-25 4 views
187

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

*/30 * * * * 

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

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

+0

Вам удалось получить работу crontab? Ваша проблема может не быть crontab, но заставить ее использовать. – Eddie

+0

В нем работает еще 2 скрипта, каждый раз в минуту. –

+1

Я жду, чтобы посмотреть, работает ли один из ниже приведенных ниже ответов, просто нужно подождать до следующих 30 минут ... через 3 минуты. –

ответ

429

Do:

0,30 * * * * your_command 
+1

Отлично работает! В CentOS crontab мне пришлось сделать что-то вроде '0,30 * * * * root your_command', где root будет пользователем, которого я использую. – prograhammer

+1

Как насчет этого '0/30 * * * * your_command'? – ihue

+0

@prograhammer - Была ли эта линия частью кронаба корня или какого-то другого crontab пользователя? –

69

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

0,30 * * * * your command goes here 

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

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

+0

Я всегда использовал */30 с успехом, но я не помню приложения моего, где это было слишком критично, если он работал только один раз в час, поэтому я не думаю Я когда-либо проверял. –

+2

@ Adam Hawes: Я также использовал */xx с успехом в прошлом, но в Linux и других UNIX. Я лично не пробовал Mac OSX. В исходном вопросе не говорилось, какая ОС. Некоторые старые UNIX не поддерживают */xx – Eddie

+0

Ваш ответ тоже работал, но у Влада меньше репрессий, поэтому я дал ему очки. –

4

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

+0

В противном случае это может быть полезно. –

+0

@Allyn - это теперь мертвая ссылка. Это выглядит как новый: https://roaringapps.com/app/cronnix –

8

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

От Scheduling Timed Jobs (official Apple docs):

Примечание: Несмотря на то, что по-прежнему поддерживается, хрон не рекомендуемое решение. Он устарел в пользу запуска.

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

54

кронтаб не понимает "интервалов", он понимает только "график"

действительные часы: 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 и т.д.)

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

Смежные вопросы