Май 23, 2026Ръководства
Как да настроите cron задачи на Linux сървър
Cron синтаксис, редактиране на crontab, примери и логване за автоматизирани задачи на VPS.

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