7 мин чтения
2026-03-09
Cron — демон планировщика задач в Unix-системах. Позволяет автоматически запускать команды по расписанию.
* * * * * команда │ │ │ │ │ │ │ │ │ └─── День недели (0-7, где 0 и 7 = воскресенье) │ │ │ └───── Месяц (1-12) │ │ └─────── День месяца (1-31) │ └───────── Час (0-23) └─────────── Минута (0-59)
| Символ | Значение | Пример |
|---|---|---|
| `*` | Любое значение | `* * * * *` — каждую минуту |
| `,` | Список значений | `1,15 * * * *` — в 1-ю и 15-ю минуты |
| `-` | Диапазон | `1-5 * * * *` — каждую минуту с 1 по 5 |
| `/` | Шаг | `*/15 * * * *` — каждые 15 минут |
| Выражение | Расписание |
|---|---|
| `0 * * * *` | Каждый час |
| `0 0 * * *` | Каждый день в полночь |
| `0 9 * * 1-5` | Будни в 9:00 |
| `0 9 1 * *` | 1-е число каждого месяца в 9:00 |
| `*/5 * * * *` | Каждые 5 минут |
| `0 0 * * 0` | Каждое воскресенье в полночь |
| `0 8-18 * * 1-5` | Рабочие часы каждый час |
@reboot — при запуске системы @yearly — раз в год (0 0 1 1 *) @monthly — раз в месяц (0 0 1 * *) @weekly — раз в неделю (0 0 * * 0) @daily — каждый день (0 0 * * *) @hourly — каждый час (0 * * * *)
crontab -e # редактировать crontab crontab -l # показать текущий crontab crontab -r # удалить crontab
# Сохранить stdout и stderr в файл 0 * * * * /path/to/script.sh >> /var/log/myjob.log 2>&1 # Подавить весь вывод 0 * * * * /path/to/script.sh > /dev/null 2>&1
systemd timers — более гибкий контроль в Linux
GitHub Actions — расписание для CI/CD (schedule: cron)
Celery Beat — периодические задачи в Python
node-cron — планировщик для Node.js
Генерируйте cron-выражения визуально в Cron Generator.
Смотрите также: Unix timestamp, Конвертер часовых поясов