
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-задания, содержимое пользовательских cron-заданий будет отображено на экране. В противном случае команда no crontab for .
Чтобы вывести список заданий 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 нет.
Системные таймеры
Системные таймеры — это файлы модулей, которые заканчиваются суффиксом *.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.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства