ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как вывести список заданий Cron в Linux

Автоматизация системных задач с использованием cron на CentOS 7

Cron – это демон планирования, который позволяет планировать выполнение задач через определенные промежутки времени. Эти задачи называются заданиями cron и могут быть запланированы на выполнение по минуте, часу, дню месяца, месяцу, дню недели или любой их комбинации.

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

В этой статье объясняется, как составить список заданий cron.

 

Список пользователей Cron Jobs

Файлы crontab пользователей именуются в зависимости от имени пользователя, а их расположение зависит от операционной системы. В дистрибутивах на основе Red Hat, таких как CentOS, файлы crontab хранятся в каталоге /var/spool/cron, а в Debian и Ubuntu – в каталоге /var/spool/cron/crontabs.

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

crontab -l

 

Если пользователь настроил задания cron, содержимое пользовательских crontabs будет отображаться на экране. В противном случае команда напечатает no crontab for <username>.

Чтобы вывести список заданий cron других пользователей, используйте опцию -u для указания имени пользователя в конце команды. Например, чтобы перечислить задания cron пользователя с именем «andreyex», вы должны использовать:

sudo crontab -u andreyex -l

 

Каждый пользовательский файл crontab имеет разрешение 600 и принадлежит пользователю. Только root и пользователи с привилегиями sudo могут просматривать задания cron других пользователей.

Чтобы узнать, какие пользователи создали задания cron, перечислите содержимое каталога spool как пользователь root или sudo:

sudo ls -1 /var/spool/cron/crontabs

 

Вывод будет выглядеть примерно так:

root
andreyex

 

Перечисление заданий cron системы

/etc/crontab и файлы внутри каталога /etc/cron.d являются общесистемными файлами crontab, которые могут редактировать только системные администраторы.

Используйте cat, less или любой текстовый редактор, чтобы просмотреть содержимое файлов:

cat /etc/crontab /etc/cron.d/*

 

В большинстве дистрибутивов Linux вы также можете поместить скрипты в каталоги /etc/cron.{hourly,daily,weekly,monthly}, и скрипты выполняются каждый час/день/неделя/месяц.

Каждый скрипт внутри этих каталогов должен иметь разрешение на выполнение. В противном случае задание cron не будет выполнено.

Например, чтобы просмотреть все еженедельные задания cron, введите:

ls -l /etc/cron.weekly/
-rwxr-xr-x 1 root root 813 Feb 10  2019 man-db

 

Если вывод пуст, это означает, что еженедельных заданий cron нет.

 

Системные таймеры

Системные таймеры – это файлы модулей, которые заканчиваются суффиксом *.timer и позволяют запускать сервисные модули в зависимости от времени.

В дистрибутивах, использующих systemd в качестве системы инициализации, таймеры используются в качестве альтернативы стандартному демону cron.

Чтобы просмотреть список всех системных таймеров на вашем компьютере, выполните следующую команду:

systemctl list-timers
NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES
Sun 2020-02-19 01:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  logrotate.timer              logrotate.service
Sun 2020-02-19 01:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  man-db.timer                 man-db.service
Sun 2020-02-19 02:50:52 UTC  5h 44min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily.timer              apt-daily.service
Sun 2020-02-19 04:12:38 UTC  8h left       Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily-upgrade.timer      apt-daily-upgrade.service
Sun 2020-02-19 05:44:56 UTC  20h left      Sat 2020-02-15 17:16:10 UTC  4h 50min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

 

Вывод

Мы показали вам, как составить список заданий cron и системных таймеров.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Exit mobile version