Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
CRON_SCHEDULE_SETUP Linux / DevOps

Планировщик Cron в Linux: настройка автозапуска скриптов (crontab -e)

Обновлено: 27.08.2026  ·  Официальная база знаний

Что такое Cron и зачем он нужен?

Cron — это встроенный в Linux планировщик задач, выполняющий команды и скрипты в фоновом режиме по строго заданному расписанию (каждую минуту, каждый час, в полночь или по понедельникам).

Синтаксис Cron и редактирование заданий

Откройте таблицу задач текущего пользователя:

crontab -e

(При первом открытии выберите редактор Nano, нажав цифру 1).

Схема 5 звездочек:

* * * * * /путь/к/команде
│ │ │ │ │
│ │ │ │ └── День недели (0 - 7) (0 и 7 = Воскресенье)
│ │ │ └────── Месяц (1 - 12)
│ │ └──────── День месяца (1 - 31)
│ └────────── Час (0 - 23)
└──────────── Минута (0 - 59)

Готовые популярные примеры:

# Запуск скрипта бэкапа каждую ночь в 03:00:
0 3 * * * /bin/bash /home/ubuntu/backup.sh

# Запуск очистки кэша каждые 15 минут:
*/15 * * * * /usr/bin/php /var/www/site/artisan cache:clear

# Запуск проверки каждый понедельник в 08:30 утра:
30 8 * * 1 /home/ubuntu/check_status.sh

# Запуск задачи один раз при старте сервера:
@reboot /usr/bin/python3 /home/ubuntu/startup.py

Главная ошибка новичков: В cron отсутствует стандартное пользовательское окружение PATH. Всегда пишите полные пути к утилитам (/usr/bin/python3, /bin/bash) и перенаправляйте логи выполнения: >> /var/log/cron_job.log 2>&1.

Практический опыт инженера: При вызове скриптов из cron первой строкой внутри bash-скрипта всегда прописывайте переключение в рабочий каталог (cd /path/to/project), так как cron по умолчанию запускает команды из домашней директории пользователя.

Частые вопросы (FAQ)

Как посмотреть текущий список задач без открытия редактора?

Выполните команду crontab -l.

Как запускать крон-задачи от имени администратора root?

Откройте крон суперпользователя командой sudo crontab -e.

Где посмотреть лог срабатывания задач cron?

В системном журнале: sudo grep CRON /var/log/syslog или journalctl -u cron.

Что означает конструкция > /dev/null 2>&1?

Она полностью глушит весь вывод команды (и успешные сообщения, и ошибки), чтобы cron не пытался отправлять локальные системные письма.