Как запускать работу cron каждые 2 часа

237

Как я могу написать Crontab, который будет запускать мой /home/username/test.shскрипт каждые 2 часа?

Вигнеш
источник

Ответы:

385

Просто сделать:

0 */2 * * *  /home/username/test.sh 

0 в начале означает запуск на 0-й минуте. (Если бы это было *, сценарий запускался бы каждую минуту в течение каждого второго часа.)

Не забывайте, вы можете проверить системный журнал, чтобы увидеть, действительно ли он когда-либо работал!

Адам
источник
@ ernest-conill Как вы можете сказать? история изменений не содержит версию, которая включает другой код: stackoverflow.com/posts/6423532/revisions
tutuDajuju
102

Строка должна читать либо:

0 0-23/2 * * * /home/username/test.sh

или

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /home/username/test.sh
Джеймс Андерсон
источник
3
«0-23 / 2» - между часами 0 и 23 запускаются каждые 2 часа.
Джеймс Андерсон
0-23 / 2 намного лучше, чем * / 2
Кад
2
@Kad, почему это так?
Киприан Томоягэ
А как насчет нечетных часов? Могу ли я добавить +1
Шравья Боггарапу
если ваш cron поддерживает это, 0-23/2это каждый четный час и 1-23/2каждый нечетный час, но я бы предпочел */2еще.
Бетлиста
4

0 * / 1 * * * «В минуту 0 каждый час».

0 * / 2 * * * «В минуту 0 после каждого второго часа».

Это правильный способ установки cronjobs для каждого часа.

Бибин Джозеф
источник
0

Чтобы войти в crontab:

crontab -e

запишите это в файл:

0 */2 * * * python/php/java yourfilepath

Пример :0 */2 * * * python ec2-user/home/demo.py

и убедитесь, что у вас есть одна пустая строка после последнего задания cron в вашем файле crontab

Сурадж Кулкарни
источник