CLI AI

Cron без головоломок: «каждый понедельник в 3 ночи» → рабочее расписание

2026-03-21

Синтаксис cron — из тех вещей, что учатся за десять минут и удерживаются десять лет. Пять полей, диапазоны, шаги, списки, разница между */5 и 0,5,10,15,...,55 — и тестовый цикл написал запись, подождал час, посмотрел, сработало ли печально медленный. Спросить по сути быстрее.

Пять реальных расписаний

Каждые 5 минут в рабочие часы

clai
$ clai cron-строка: каждые 5 минут с 9 до 17 по будням→ */5 9-17 * * 1-5

Первый день месяца

clai
$ clai cron-строка: 02:30 первого числа каждого месяца→ 30 2 1 * *

Каждый понедельник в 3 ночи

clai
$ clai cron-строка: каждый понедельник в 03:00→ 0 3 * * 1

Каждые 15 минут, но пропуская 23:00–06:00

clai
$ clai cron-строка: каждые 15 минут с 06:00 до 22:59→ */15 6-22 * * *

Ежечасно, только в будни

clai
$ clai cron-строка: в начале каждого часа с понедельника по пятницу→ 0 * * * 1-5

Проверка того, что есть

Перед crontab -e посмотрите, что уже там:

clai
$ clai покажи мой текущий crontab→ crontab -l

Маленькое предостережение

Расписания интерпретируются в таймзоне cron-демона — обычно это таймзона системы. Если «каждый понедельник в 3 ночи» должно значить 3 ночи Лондона на UTC-сервере, скажите это в промпте — «каждый понедельник в 3 ночи лондонского времени, в UTC» — и получите 0 3 * * 1, скорректированное по часовому поясу (или запись установит CRON_TZ=Europe/London, если демон это умеет).

См. также