Как запускать работу 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.