Как настроить работу cron для запуска каждую ночь в 2:30? Я знаю, как заставить его работать на 2, но не 2:30.
Как настроить работу cron для запуска каждую ночь в 2:30? Я знаю, как заставить его работать на 2, но не 2:30.
Ответы:
Редактировать:
crontab -e
Добавьте эту командную строку:
30 2 * * * /your/command
МИН ЧАС ДОМ МОН ДОУ CMD
MIN Minute field 0 to 59
HOUR Hour field 0 to 23
DOM Day of Month 1-31
MON Month field 1-12
DOW Day Of Week 0-6
CMD Command Any command to be executed.
Перезапустите cron с последними данными:
service crond restart
Как видно из других ответов, используется следующий синтаксис:
30 2 * * * /your/command
# ^ ^
# | hour
# minute
Следуя стандартному формату crontab:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
Также полезно использовать crontab.guru для проверки выражений crontab.
Выражения добавляются в crontab
использование crontab -e
. Как только вы закончите, сохраните и выйдите (если вы используете vi
, :x
это делает ввод ). Хорошая мысль об использовании этого инструмента заключается в том, что если вы напишите неверную команду, вы, скорее всего, получите сообщение в форме:
$ crontab -e
crontab: installing new crontab
"/tmp/crontab.tNt1NL/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n)
Если у вас есть другие проблемы с неработающим crontab, вы можете проверить Отладка crontab или Почему crontab не выполняет мой PHP-скрипт? ,
30 2 * * * wget https://www.yoursite.com/your_function_name
Первая часть предназначена для установки задания cron, а следующая - для вызова вашей функции.
В дополнение ко всем вышеупомянутым отличным ответам, проверьте https://crontab.guru/ - полезный онлайн-ресурс для проверки вашего синтаксиса crontab.
То, что вы получаете, является читабельным представлением того, что вы указали.
Смотрите примеры ниже: