Linux cron: автоматизация задач на сервере

VDS / VPS серверы · 18.02.2025
Linux cron: автоматизация задач на сервере

Синтаксис crontab

# Формат: MIN HOUR DOM MON DOW COMMAND
# MIN    = 0-59
# HOUR   = 0-23
# DOM    = 1-31 (день месяца)
# MON    = 1-12
# DOW    = 0-7  (день недели, 0 и 7 = воскресенье)

# Каждые 5 минут
*/5 * * * * /usr/local/bin/check.sh

# Каждый день в 3:30
30 3 * * * /usr/local/bin/backup.sh

# Каждый понедельник в 2:00
0 2 * * 1 /usr/local/bin/weekly-report.sh

# Первое число каждого месяца в полночь
0 0 1 * * /usr/local/bin/monthly-cleanup.sh

Управление crontab

crontab -e      # Редактировать (текущий пользователь)
crontab -l      # Список заданий
crontab -r      # Удалить все задания
crontab -u user # Для другого пользователя

Логирование cron-заданий

# Перенаправление вывода в лог
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

# Подавление вывода (без логов)
0 3 * * * /usr/local/bin/backup.sh > /dev/null 2>&1

Специальные значения

ЗначениеЭквивалент
@rebootПри запуске системы
@daily0 0 * * *
@weekly0 0 * * 0
@monthly0 0 1 * *
💡 Для критических задач используйте systemd timers — они имеют встроенный retry механизм и интеграцию с journald для логов.
← Назад в базу знаний Задать вопрос поддержке