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

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, содержимое пользовательских crontab будет отображаться на экране. В противном случае команда не выведет no crontab for <username> .

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

sudo crontab -u mark -l

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

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

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

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

root
mark

Список заданий Cron системы

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

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

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

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

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

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

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

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

Таймеры Systemd

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

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

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

systemctl list-timers
NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  logrotate.timer              logrotate.service
Sun 2020-02-16 00: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-16 03: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-16 06: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-16 18: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 и таймеров systemd.

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

Оставьте комментарий