Назад до блогу
Травень 23, 2026Посібники

Як налаштувати cron-завдання на Linux-сервері

Синтаксис cron, редагування crontab, приклади розкладу та журналювання на VPS.

Як налаштувати cron-завдання на Linux-сервері

Cron — стандартний планувальник Linux для запуску скриптів за розкладом: резервні копії, очищення кешу, перевірка сертифікатів. Посібник з cron на сервері Hiddence.

Синтаксис cron

У кожному рядку п’ять полів часу та команда:

bash
# ┌──────── minute (0-59)
# │ ┌────── hour (0-23)
# │ │ ┌──── day of month (1-31)
# │ │ │ ┌── month (1-12)
# │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
# │ │ │ │ │
# * * * * * command

# Every day at 3:00 AM:
0 3 * * * /usr/local/bin/backup.sh

# Every 15 minutes:
*/15 * * * * /usr/local/bin/check.sh

Редагування crontab

crontab -e для поточного користувача. Системні завдання — через root:

bash
# Edit your user crontab
crontab -e

# Edit root crontab
sudo crontab -e

# List current jobs
crontab -l
sudo crontab -l

Часті приклади

  • 0 2 * * * — щоденне резервне копіювання о 2:00
  • 0 */6 * * * — кожні 6 годин
  • 0 0 * * 0 — кожну неділю опівночі
  • */5 * * * * — кожні 5 хвилин (обережно з навантаженням)
  • @reboot /path/script.sh — після перезавантаження
  • @daily /usr/bin/certbot renew --quiet — перевірка SSL

Журнали та налагодження

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

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# View cron execution in system log:
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

Поради

  • Використовуйте абсолютні шляхи до скриптів
  • Перевіряйте скрипт вручну перед додаванням у cron
  • MAILTO=email у crontab для сповіщень про помилки
  • Для складних сценаріїв розгляньте systemd timers
  • Не запускайте важкі завдання щохвилини