Cron — це планувальник задач в Unix/Linux системах. Cron-вираз визначає, коли і як часто виконувати команду. Розберемо синтаксис та найпоширеніші приклади.
Формат cron-виразу
* * * * * команда
| | | | |
| | | | +-- день тижня (0-7, 0 і 7 = неділя)
| | | +---- місяць (1-12)
| | +------ день місяця (1-31)
| +-------- година (0-23)
+---------- хвилина (0-59)
Спеціальні символи
*— будь-яке значення,— перелік значень:1,3,5-— діапазон:1-5/— крок:*/15= кожні 15 одиниць
Популярні приклади
| Вираз | Опис |
|---|---|
* * * * * | Кожну хвилину |
0 * * * * | Кожну годину |
0 0 * * * | Щодня опівночі |
0 9 * * 1-5 | Пн-Пт о 9:00 |
0 0 1 * * | 1-го числа кожного місяця |
*/5 * * * * | Кожні 5 хвилин |
0 */2 * * * | Кожні 2 години |
30 4 * * 0 | Щонеділі о 4:30 |
Онлайн Cron Parser
Використовуйте Cron Parser Xuvero для перевірки ваших cron-виразів. Інструмент покаже людиночитабельний опис та наступні дати виконання.
Cron у різних системах
Linux crontab
# Відкрити редактор crontab
crontab -e
# Бекап БД щодня о 3:00
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
Laravel Scheduler
$schedule->command('emails:send')
->dailyAt('09:00')
->timezone('Europe/Kyiv');
Поширені помилки
- Забутий PATH — cron має мінімальне оточення, вказуйте повні шляхи
- Немає перенаправлення виводу — без перенаправлення отримаєте email-спам
- Часовий пояс — cron використовує системний час
- Права доступу — скрипт повинен бути виконуваним (
chmod +x)