Cron: расшифровать и собрать
В одну сторону - что означает выражение и когда оно сработает; в другую - собрать выражение по описанию, не вспоминая порядок полей. Считается в браузере тем же движком, на котором устроен тренажёр по cron.
:
0 3 * * *
примеры:
что это значит
-
ближайшие запуски
Время местное - то, что показывает ваш браузер. На сервере cron считает по его собственной зоне, и это первое, что стоит проверить, когда задание срабатывает «не в то время».
Что стоит помнить про cron
- Пять полей: минуты, часы, день месяца, месяц, день недели. Шестого поля с секундами в классическом cron нет.
- День месяца и день недели складываются через «или», если оба
заданы:
0 0 13 * 5- это «13-го числа и каждую пятницу», а не «в пятницу 13-го». */15- это не «каждые 15 минут от запуска», а «минуты, кратные 15»: 0, 15, 30, 45.- Если шаг не делит период нацело, «каждые N» - неправда.
0 */15 * * *- это 00:00 и 15:00, а не «раз в 15 часов»: на границе суток счёт начинается заново, и второй промежуток - 9 часов. Ровно делят сутки только 1, 2, 3, 4, 6, 8 и 12, а час - 1, 2, 3, 4, 5, 6, 10, 12, 15, 20 и 30. - Окружение у cron своё. Скрипт, работающий в вашей оболочке,
в cron падает из-за короткого
PATH- пишите полные пути. - Строки со собачкой - сокращения:
@daily(то же, что@midnight) =0 0 * * *,@hourly=0 * * * *,@weekly=0 0 * * 0(воскресенье),@monthly=0 0 1 * *,@yearly(он же@annually) =0 0 1 1 *. @reboot- единственная строка без расписания: задание выполняется один раз при старте cron (то есть обычно при загрузке машины) и больше не повторяется. «Ближайших запусков» у неё нет, а после перезапуска только службы cron - выполнится снова. Для служб, которые должны подниматься сами, systemd-юнит надёжнее: он умеет перезапуск после падения и зависимости от сети.
Комментарии
Пока нет комментариев. Будь первым!
Оставить комментарий