Задания Cron обычно используются для выполнения операций по обслуживанию системы. Например, задание cron можно настроить для автоматизации повторяющихся задач, таких как резервное копирование баз данных, обновление системы с помощью последних исправлений безопасности, очистка кэша, отправка электронных писем и т. д.
В этой статье объясняется, как составить список заданий cron.
Файлы 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
/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 и системных таймеров.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята