Linux

Как использовать команду crontab в Linux: пошаговое руководство

В этом гайде вы узнаете, как работать с планировщиком задач crontab в Linux: настраивать задания, редактировать таблицы и устранять ошибки. После выполнения инструкции вы сможете автоматизировать повторяющиеся задачи.

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

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

Команда crontab — это основной инструмент для автоматизации задач в Linux. С её помощью можно планировать выполнение скриптов, команд и других действий по заданному расписанию. После изучения этого гайда вы сможете настраивать cron-задачи, редактировать таблицы и быстро устранять типичные ошибки, что значительно ускорит вашу работу с системой.

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

  • ОС: Ubuntu 22.04, Debian 12, CentOS 8 (или другая дистрибутивная версия с пакетом cron).
  • Права администратора (sudo), если вы работаете с системным /etc/crontab.
  • Базовые знания shell-команд и работы с текстовым редактором (например, nano или vim).
  • Установленный пакет cron (если нет — он уже включён в базовый образ большинства дистрибутивов).

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

Шаг 1: Установка и включение службы cron

Убедитесь, что пакет cron установлен. На Ubuntu/Debian выполните:

sudo apt update && sudo apt install -y cron

На CentOS/RHEL:

sudo yum install -y cronie

После установки запустите службу и сделайте её постоянной:

sudo systemctl start cron
sudo systemctl enable cron

Шаг 2: Редактирование таблицы crontab

Для редактирования персональной таблицы crontab используйте:

crontab -e

Система использует редактор по умолчанию (nano в большинстве случаев). Сохраните изменения и выйдите из редактора.

Если вам нужен системный конфигурационный файл, откройте /etc/crontab:

sudo nano /etc/crontab

Изменения в этом файле применяются автоматически (сервис cron считывает его при запуске).

Шаг 3: Создание задания с примерами

Добавляйте строки в формате:

* * * * * команда

Где * * * * * — это минуты, часы, день месяца, месяц, день недели соответственно.

Пример 1: Резервное копирование каждый день в 02:00:

0 2 * * * /usr/bin/rsync /source/ /backup/

Пример 2: Выполнение скрипта каждую минуту:

* * * * * /home/user/script.sh

Сохраните таблицу (Ctrl+X, Y, Enter в nano).

Шаг 4: Проверка и устранение распространённых ошибок

  • Посмотрите активные задания:
crontab -l
  • В режиме реального времени просмотрите журнал cron:
sudo journalctl -u cron -f
  • Проверьте /var/log/cron.log на наличие ошибок.

Если задача не срабатывает, перепроверьте синтаксис, используя:

crontab -l | crontab -

Эта команда парсит таблицу и покажет ошибки в формате crontab.

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

  1. Добавьте задание, которое выводит сообщение, например:
* * * * * echo "Cron-задание выполнено в $(date)"
  1. Подождите одну минуту и проверьте вывод в терминале, где запущен cron (или в /var/log/cron.log).
  2. Если вывод отображается, задание работает корректно.

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

  • Сервис cron не запущен: выполните sudo systemctl start cron и sudo systemctl enable cron.
  • Таблица crontab пуста: убедитесь, что файл не пуст (crontab -l не выводит содержимое).
  • Неправильные права доступа: проверьте владельца и разрешения файлов (/etc/crontab, /var/spool/cron).
  • Неверный синтаксис таймфрейма: используйте валидаторы, например, man 5 crontab или онлайн‑проверщики.

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

Как установить и запустить службу cron в Ubuntu?
Как добавить новое задание в crontab?
Что делать, если cron не запускает задания?

Полезное

Установка и включение службы cron
Редактирование таблицы crontab
Создание задания с примерами
Проверка и устранение распространённых ошибок

Эта статья помогла вам решить проблему?