Як запускати роботу cron кожні 2 години


237

Як я можу написати Crontab, який запускатиме мій /home/username/test.shсценарій кожні 2 години?

Відповіді:


385

Просто зробіть:

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

0 на початку означає бігти на 0-й хвилині. (Якби це *, сценарій запускався щохвилини протягом кожної другої години.)

Не забувайте, ви можете перевірити syslog, щоб побачити, чи справді він працював!


@ 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 чому так?
Ciprian Tomoiagă

Що про непарні години? Чи можу я додати +1
Shravya Boggarapu

якщо ваш cron це підтримує, 0-23/2це кожна парна година і 1-23/2є кожна дивна година, але я вважаю за краще */2все ж
Betlista


4

0 * / 1 * * * "У хвилину 0 минулої години."

0 * / 2 * * * "У хвилину 0 минулу кожні 2 години".

Це правильний спосіб встановити кронштейни на кожну годину.


0

Щоб увійти в crontab:

crontab -e

запишіть це у файл:

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

Приклад:0 */2 * * * python ec2-user/home/demo.py

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.