Cron 1-го числа каждого месяца: 0 0 1 * *
Впишите выражение из crontab, и Steadrun покажет, когда оно сработает. Расписание считается так же, как в проверках Steadrun.
Генератор: собрать выражение из расписания
Выражение появится в поле выше вместе с разбором и ближайшими запусками.
1-го числа, в 00:00.
Ближайшие запуски
Часовой пояс Europe/Moscow
- вт, 1 декабря 2026, 00:00
- пт, 1 января 2027, 00:00
- пн, 1 февраля 2027, 00:00
- пн, 1 марта 2027, 00:00
- чт, 1 апреля 2027, 00:00
Строка для crontab
0 0 1 * * /path/to/script.sh && curl -fsS -m 10 --retry 3 -o /dev/null https://steadrun.ru/ping/ВАШ-UUID
curl в конце сообщает Steadrun, что задача отработала. Если пинга не будет к сроку,
придёт алерт на почту, в Telegram или на вебхук.
Cron не скажет, что задача не запустилась
Steadrun ждёт пинг по этому расписанию и пишет Вам, когда задача молчит или падает. На бесплатном тарифе можно завести до 5 проверок.
Следить за этой задачей в SteadrunВ других планировщиках
То же расписание в часовом поясе Europe/Moscow.
Laravel Scheduler
Schedule::command('app:task')->monthly()->timezone('Europe/Moscow');
systemd timer
[Timer]
OnCalendar=*-*-01 00:00:00 Europe/Moscow
# Проверить на сервере: systemd-analyze calendar "*-*-01 00:00:00 Europe/Moscow"
Руководство: systemd timer вместо cron
Kubernetes CronJob
spec:
schedule: "0 0 1 * *"
timeZone: "Europe/Moscow"
Поле timeZone работает с Kubernetes 1.27. Без него время считается по часовому поясу kube-controller-manager. Пинг из CronJob
GitHub Actions
on:
schedule:
- cron: '0 0 1 * *'
timezone: 'Europe/Moscow'
В часы нагрузки на GitHub запуск может опоздать. Без timezone время считается в UTC. Пинг из GitHub Actions
То же, что @monthly. Так запускают ежемесячные отчёты и закрытие периода.
Частые ошибки
- Единица попала не в то поле:
0 0 * 1 *срабатывает каждый день января. День месяца — третье поле, месяц — четвёртое. - Добавили день недели и получили лишние запуски:
0 0 1 * 1сработает и 1-го числа, и в каждый понедельник. - Записи «последний день месяца» в обычном cron нет. Проще запускать задачу 1-го числа и считать прошедший месяц.
Как изменить расписание
- 0 9 1 * * 1-го числа в 09:00
- 0 0 1,15 * * 1-го и 15-го числа
- 0 0 1 */3 * раз в квартал: 1 января, апреля, июля и октября
- 0 0 1 1 * раз в год, 1 января
Примеры расписаний
-
* * * * *каждую минуту -
*/5 * * * *каждые 5 минут -
*/10 * * * *каждые 10 минут -
*/15 * * * *каждые 15 минут -
*/30 * * * *каждые 30 минут -
0 * * * *каждый час -
0 */6 * * *каждые 6 часов -
0 0 * * *каждый день в полночь -
0 3 * * *каждый день в 03:00 -
0 9 * * 1-5по будням в 09:00 -
0 0 * * 1каждый понедельник -
0 0 1 * *1-го числа каждого месяца
Что означает каждое поле, специальные строки вроде @daily и частые ошибки описаны в
руководстве «Crontab и расписание cron».