Linux

Пошаговое руководство по настройке crontab в Linux

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

Обновлено 2 июля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04Ubuntu 22.04Debian 11CentOS 8Fedora 36

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

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

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

  • Любая современная дистрибутива Linux (Ubuntu, Debian, CentOS, Fedora и т.д.).
  • Права администратора (sudo), если требуется установка или управление сервисом.
  • Текстовый редактор, совместимый с терминалом (nano, vim и т.д.).
  • Доступ к командной строке.

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

Шаг 1: Установите и проверьте cron-сервис

На большинстве дистрибутивов cron уже установлен. Проверьте статус:

sudo systemctl status cron

Если сервис неактивен, запустите его и включите на автозагрузку:

sudo systemctl start cron
sudo systemctl enable cron

Шаг 2: Откройте личный crontab для редактирования

Выполните команду:

crontab -e

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

Шаг 3: Добавьте пример задания

Вставьте строку, например:

0 2 * * * /usr/local/bin/backup.sh

Это задание будет запускать скрипт /usr/local/bin/backup.sh каждый день в 02:00 ночи.

Шаг 4: Проверьте синтаксис заданий

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

crontab -l

Шаг 5: Запустите cron-сервис (если он не работает)

Если systemctl не показывает работающего cron, перезапустите сервис:

sudo systemctl restart cron

Проверьте статус снова:

sudo systemctl status cron

Шаг 6: Проверьте выполнение задания

Создайте тестовый скрипт:

#!/bin/bash
echo DONE > /tmp/cron_test.txt

Сделайте его исполняемым:

chmod +x /tmp/test.sh

Дождитесь первой активации (для задания в 02:00 ночи). После этого проверьте содержимое файла:

cat /tmp/cron_test.txt

Если вы видите DONE, задание работает корректно.

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

  • Используйте systemctl status cron, чтобы убедиться, что планировщик работает.
  • Используйте crontab -l, чтобы проверить активные задания.
  • Запустите скрипт вручную (/usr/local/bin/backup.sh) и проверьте его вывод.

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

  • Сервис cron не запущен – выполните sudo systemctl start cron и убедитесь, что он включен (sudo systemctl enable cron).
  • Ошибка прав доступа – убедитесь, что скрипт имеет права на выполнение (chmod +x /path/to/script).
  • Задание не выполняется – проверьте синтаксис с помощью crontab -l; также убедитесь, что путь к скрипту абсолютный или указан относительно домашнего каталога.
  • Часовой пояс не тот – cron использует системный часовой пояс. Измените его в /etc/timezone или используйте %Z в задании, если нужно локальное время.

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

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

Как открыть редактор crontab для редактирования?
Как записать задание, которое должно выполняться каждую минуту?
Что делать, если cron не запускает мои задания?
Как удалить или отключить задачу в crontab?

Полезное

Установите и проверьте cron-сервис
Откройте личный crontab для редактирования
Добавьте пример задания
Проверьте синтаксис заданий
Запустите cron-сервис (если он не работает)
Проверьте выполнение задания