MEVCORE

Crontab в Linux: як запускати завдання за розкладом

Оновлено 09.10.2026

Cron — системний планувальник, який запускає команди за розкладом: резервні копії, очищення кешу, фонові завдання CMS, імпорт прайсів. На хостингу з панеллю завдання додаються через інтерфейс (ISPmanager, cPanel), а на VPS — командою crontab.

Керування завданнями

crontab -e        # редагувати завдання поточного користувача
crontab -l        # переглянути
sudo crontab -e   # завдання користувача root
sudo crontab -u www-data -e   # завдання іншого користувача

Під час першого запуску crontab -e запропонує обрати редактор — оберіть nano. Якщо відкрився vim, див. як працювати в vim і вийти з нього.

Синтаксис

┌───── хвилина (0–59)
│ ┌───── година (0–23)
│ │ ┌───── день місяця (1–31)
│ │ │ ┌───── місяць (1–12)
│ │ │ │ ┌───── день тижня (0–7, 0 і 7 — неділя)
│ │ │ │ │
* * * * *  команда

Приклади

РозкладКоли запускається
* * * * *щохвилини
*/5 * * * *кожні 5 хвилин
0 * * * *на початку кожної години
30 3 * * *щодня о 03:30
0 9 * * 1-5о 09:00 у будні
0 0 1 * *першого числа кожного місяця опівночі
@rebootодин раз після завантаження сервера

Перевірити, що означає вираз і коли буде найближчий запуск, можна нашим інструментом розбору cron-розкладу.

Типові завдання

# фонові завдання WordPress замість wp-cron при відвідуваннях
*/5 * * * * cd /var/www/site && /usr/bin/php wp-cron.php > /dev/null 2>&1

# планувальник Laravel
* * * * * cd /var/www/app && /usr/bin/php artisan schedule:run > /dev/null 2>&1

# щоденний дамп бази о 02:00
0 2 * * * mysqldump -u user -pПАРОЛЬ dbname | gzip > /root/backup/db-$(date +\%F).sql.gz

У crontab символ % має особливе значення, тому в командах його екранують: \%.

Де подивитися результат

Направте вивід у файл, щоб бачити помилки:

0 2 * * * /root/backup.sh >> /var/log/backup.log 2>&1

Факт запуску завдань видно в системному журналі:

grep CRON /var/log/syslog          # Ubuntu, Debian
sudo journalctl -u cron --since today
sudo journalctl -u crond --since today   # AlmaLinux, Rocky

Чому завдання не працює

  • Інше оточення. Cron запускає команди з мінімальною змінною PATH. Вказуйте повні шляхи: /usr/bin/php замість php (дізнатися шлях — which php).
  • Інший поточний каталог. Скрипт, що відкриває файли за відносними шляхами, не знайде їх. Додайте cd /шлях && перед командою.
  • Немає прав на виконання. chmod +x /root/backup.sh — див. права доступу.
  • Часовий пояс. Cron працює за часом сервера — перевірте його командою date (як змінити часовий пояс).
  • Немає порожнього рядка в кінці файлу crontab — останнє завдання може ігноруватися.
  • Служба cron зупинена — systemctl status cron.

Не знайшли відповідь?

Опишіть завдання, додайте текст помилки та скриншот — команда підтримки допоможе знайти наступний крок.

Як до вас звертатися?

Введіть ім’я, перш ніж почати діалог.

Вітаємо! Напишіть ваше питання — оператор відповість якнайшвидше.
Оцініть відповідь оператора