Обратно към блога
Май 23, 2026Ръководства

Как да настроите cron задачи на Linux сървър

Cron синтаксис, редактиране на crontab, примери и логване за автоматизирани задачи на VPS.

Как да настроите cron задачи на Linux сървър

Cron е стандартният планировчик в Linux за изпълнение на скриптове и команди в определено време — резервни копия, изчистване на кеш, проверка на сертификати и др.

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 — ежедневна проверка на Certbot

Логване и отстраняване на грешки

Пренасочете изхода към log файл, за да видите дали задачата е неуспешна:

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 командите
  • Тествайте скриптовете ръчно преди добавяне в crontab
  • Задайте MAILTO=your@email.com в crontab за имейли при грешки (ако пощата е настроена)
  • За сложни зависимости използвайте systemd timers
  • Не стартирайте тежки задачи всяка минута — може да претоварите VPS