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.
Добавить комментарий