Как запустить Cron один раз, ежедневно в 10 вечера - PullRequest
157 голосов
/ 20 января 2012

Я ввел:

* 22 * * * test > /dev/null

Однако меня по электронной почте уведомляют, что это выполняется каждую минуту.Я смущен, я думаю, потому что я думал, что это правильно для того, что я хочу.

Ответы [ 4 ]

324 голосов
/ 20 января 2012

Это работает каждую минуту часа 22, я думаю. Попробуйте выполнить следующее каждую минуту 22:

0 22 * * * ....
145 голосов
/ 29 января 2014

Вот еще несколько примеров

  • Запуск каждые 6 часов через 46 минут после часа:

    46 */6 * * *

  • Запуск в 02:10:

    10 2 * * *

  • Запуск в 3:15:

    15 3 * * *

  • Прогон в 4:20:

    20 4 * * *

  • Прогон в 5:31:

    31 5 * * *

  • Запуск в 17:31:

    31 17 * * *

57 голосов
/ 20 января 2012

Чтобы запустить один раз, ежедневно в 22:00 вы должны сделать что-то вроде этого:

0 22 * * *

enter image description here

Изображение в полном размере: http://i.stack.imgur.com/BeXHD.jpg

Источник: softpanorama.org

24 голосов
/ 20 декабря 2016

Вот что я смотрю каждый раз, когда пишу новую запись в crontab:

Чтобы начать редактирование с терминала типа:

 zee$ crontab -e

что вы добавите в файл crontab:

0 22 * * 0  some-user /opt/somescript/to/run.sh

Что это значит:

[ 
+ user => 'some-user',      
+ minute => ‘0’,             <<= on top of the hour.
+ hour => '22',              <<= at 10 PM. Military time.
+ monthday => '*',           <<= Every day of the month*
+ month => '*',              <<= Every month*
+ weekday => ‘*’,            <<= Everyday (0 thru 6) = sunday thru saturday
] 

Также проверьте, какая оболочка запущена на вашем компьютере, и назовите файл соответствующим образом ИЛИ он не будет выполняться.

Проверьте оболочкус echo $SHELL или echo $0

Это может быть "оболочка Борна (sh), оболочка Борна снова (bash), оболочка Корна (ksh) .. и т. д."

...