Linux

Создавайте и управляйте cron-задачами: полное руководство по cron в Linux

В этом гайде вы научитесь создавать, редактировать и управлять cron-задачами в Linux, чтобы автоматизировать регулярные задачи без использования графического интерфейса.

Обновлено 9 июля 2026 г.
5-10 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04Debian 12CentOS 8Fedora 36

Введение / Зачем это нужно

Cron — это легковесный планировщик задач в Linux, который запускает команды по расписанию. Понимание основ cron позволяет вам автоматизировать регулярные задачи, такие как резервное копирование, очистка логов и отправка уведомлений, без необходимости вручную запускать скрипты.

Требования / Подготовка

  • Доступ к терминалу с правами обычного пользователя (для редактирования личной таблицы) или суперпользователя (для системных задач).
  • Базовое понимание bash-скриптов (необязательно, но полезно).
  • Редактор с поддержкой vi/nano или любой текстовый редактор, настроенный как $EDITOR.
  • Необходимые скрипты должны быть доступны по указанному пути и помечены как исполняемые (chmod +x).

Пошаговая инструкция

Шаг 1: Открыть редактор crontab

Выполните crontab -e. Система откроет выбранный редактор (обычно vi) с пустым файлом, в котором можно записать расписание задач.

Шаг 2: Добавить задачу cron

Добавьте строку с расписанием и командой, например:

# Ежедневное резервное копирование в 02:00
0 2 * * * /usr/local/bin/backup.sh > /var/log/backup.log 2>&1
  • минуты0‑59
  • часы0‑23
  • день месяца1‑31
  • месяц1‑12 или янв‑дек
  • день недели0‑7 (0 и 7 означают воскресенье)

Вы можете использовать * для «каждый» или */N для «каждые N единиц». Используйте запятые для перечисления значений (1,3,5) и дефисы для диапазонов (2-5).

Шаг 3: Сохранить и перезапустить cron

Сохраните файл (Esc:wq). Перезапустите демоночный процесс:

sudo systemctl restart cron

На older дистрибутивах используйте sudo service cron restart.

Шаг 4: Проверить регистрацию задачи

Выполните crontab -l, чтобы убедиться, что задача отображается. Запустите задачу вручную для проверки:

/usr/local/bin/backup.sh

Если скрипт исполняется без ошибок, cron должен запускать его по расписанию.

Проверка результата

  • Проверьте журнал cron: journalctl -u cron -f (или sudo tail -f /var/log/syslog на Debian/Ubuntu).
  • Проверьте лог файла задачи: проверьте файл, указанный в команде (/var/log/backup.log).
  • Проверьте регистрацию задачи: повторите crontab -l перед и после изменения файла для подтверждения сохранения.

Возможные проблемы

  • Неправильный синтаксис: cron не выводит ошибок, если синтаксис неправильный. Используйте crontab -l для проверки и crontab -e для исправления.
  • Отсутствие исполняемого флага: скрипт без chmod +x может не запускаться. Добавьте chmod +x /usr/local/bin/backup.sh.
  • Неправильный путь к интерпретатору: если скрипт использует #!/usr/bin/env python3, убедитесь, что python3 доступен в PATH задачи cron.
  • Проблемы с правами: задачи, требующие sudo, должны быть добавлены в /etc/cron.d/ с правильными правами доступа (chmod 644).

Часто задаваемые вопросы

Как открыть таблицу cron для редактирования?
Что означают поля в cron-выражении?
Как проверить, что cron-задача зарегистрирована?
Какие общие ошибки встречаются при настройке cron?

Полезное

Открыть редактор crontab
Добавить задачу cron
Сохранить и перезапустить cron
Проверить регистрацию задачи