Содержание

Cron


О Cron

Cron - Системная утилита, предназначенная для автоматического выполнения задач (скриптов или команд) в строго определенное время или через определенные промежутки времени.

Установка Cron

Установите Cron:

sudo apt install cron

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

sudo systemctl status cron

Вывод в терминале:

● cron.service - Regular background program processing daemon
     Loaded: loaded (/usr/lib/systemd/system/cron.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-10-22 19:52:07 +07; 1h 22min ago
       Docs: man:cron(8)
   Main PID: 810 (cron)
      Tasks: 1 (limit: 18768)
     Memory: 464.0K (peak: 2.3M)
        CPU: 14ms
     CGroup: /system.slice/cron.service
             └─810 /usr/sbin/cron -f -P

окт 22 19:52:07 NEO-M136 systemd[1]: Started cron.service - Regular background program processing daemon.
окт 22 19:52:07 NEO-M136 (cron)[810]: cron.service: Referenced but unset environment variable evaluates to an empty string: EXTRA_OPTS
окт 22 19:52:07 NEO-M136 cron[810]: (CRON) INFO (pidfile fd = 3)
окт 22 19:52:07 NEO-M136 cron[810]: (CRON) INFO (Running @reboot jobs)
окт 22 20:17:01 NEO-M136 CRON[21141]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0)
окт 22 20:17:01 NEO-M136 CRON[21141]: pam_unix(cron:session): session closed for user root
окт 22 20:30:01 NEO-M136 CRON[30078]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0)
окт 22 20:30:01 NEO-M136 CRON[30079]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron s>
окт 22 20:30:01 NEO-M136 CRON[30078]: pam_unix(cron:session): session closed for user root
lines 1-20/20 (END)

Добавить Cron в автозагрузку:

sudo systemctl enable cron

Удалить Cron из автозагрузки:

sudo systemctl disable cron

Запуск Cron:

sudo systemctl start cron

Перезапуск Cron:

sudo systemctl restart cron

Остановить Cron:

sudo systemctl stop cron

Задача Cron

* * * * * /путь/к/команде_или_скрипту
│ │ │ │ │
│ │ │ │ └─── День недели (0–6) (0 — воскресенье)
│ │ │ └───── Месяц (1–12)
│ │ └─────── День месяца (1–31)
│ └───────── Час (0–23)
└─────────── Минута (0–59)

Специальные символы

Примеры расписания Cron

Время Описание
* * * * * Каждую минуту
0 * * * * В начале каждого часа
0 0 * * * Каждый день в полночь
*/15 * * * * Каждые 15 минут
0 0 * * * Каждый день в полночь
0 9 * * 1-5 В 9:00 утра, с понедельника по пятницу
30 18 * * 0 Каждое воскресенье в 18:30
0 12 1 * * В полдень первого числа каждого месяца
15 3 1 * * Каждый месяц первого числа в 3 часа ночи 15 минут

Опции crontab

Использование Cron

Редактирует текущий файл пользователя, используем опцию -e:

crontab -e

Добавить задачу:

* * * * * /полный/путь/к/скрипту или команде

Crontab.guru - The cron schedule expression generator

Запускать задачу каждый час в нулевую минуту:

0 * * * * /полный/путь/к/скрипту или команде

Запускать задачу каждый каждые 30 минут:

0/30 * * * * /полный/путь/к/скрипту или команде

Запускать задачу каждый день в полночь:

0 0 * * * /полный/путь/к/скрипту или команде

Запускать задачу 1-го числа каждого месяца в полночь:

0 0 1 * * /полный/путь/к/скрипту или команде

Показать список всех запланированных задач, используем опцию -l:

crontab -l

Удалить все текущие задачи пользователя, используем опцию -r:

crontab -r

Редактировать задачи другого пользователя (требуются права sudo), используем опцию -u:

crontab -u <Имя_пользователя> -e