Дополнительно
Как получить список всех запланированных заданий cron на моей машине?
Мой сисадмин установил кучу заданий cron на моей машине. Я хотел бы точно знать, что запланировано на какое время. Как я могу получить этот список?
209
3
В зависимости от того, как настроена ваша система linux, вы можете заглянуть в:
/var/spool/cron/*
(пользовательские кронтабы)/etc/crontab
(общесистемный кронтаб)также во многих дистрибутивах есть:
/etc/cron.d/*
. Эти конфигурации имеют тот же синтаксис, что и/etc/crontab
./etc/cron.hourly
,/etc/cron.daily
,/etc/cron.weekly
,/etc/cron.monthly
.Это просто каталоги, содержащие исполняемые файлы, которые выполняются ежечасно, ежедневно, еженедельно или ежемесячно, в соответствии с именем каталога.
Кроме того, вы можете иметь at jobs (проверьте
/var/spool/at/*
), anacron (/etc/anacrontab
и/var/spool/anacron/*
) и, возможно, другие, которые я забыл.В большинстве программ (например, Vixie-Cron - Debian/Ubuntu по умолчанию, Cronie - Fedora по умолчанию, Solaris Cron ...) вы получите список запланированных заданий cron для текущего пользователя через:
или для другого пользователя через
Чтобы получить кронтабы для всех пользователей, можно перебрать всех пользователей и вызвать эту команду.
В качестве альтернативы, вы можете найти файлы спула. Обычно они хранятся в каталоге
/var/spool/cron
, например, для vcron следующий каталогсодержит все настроенные кронтабы всех пользователей - кроме пользователя root, который также может настраивать задания через общесистемный кронтаб, расположенный по адресу
При использовании cronie (по умолчанию в Fedora/CentOS) существует каталог конфигурации в стиле
.d
для системных заданий cron:(Как всегда, каталог
.d
упрощает ведение конфигурационных записей, которые являются частью различных пакетов).Для удобства большинство дистрибутивов также предоставляют директории, в которых периодически выполняются связанные/сохраненные скрипты, например:
Своевременное выполнение этих скриптов обычно управляется с помощью записей
run-parts
в системном кронтабе или с помощью anacron.С помощью Systemd (например, в Fedora, CentOS 7, ...) периодическое выполнение заданий может быть дополнительно настроено через timer units. Включенные системные таймеры могут быть отображены через:
Обратите внимание, что у пользователей, помимо root, могут быть запущены пользовательские экземпляры systemd, в которых также настроены таймеры. Например, в Fedora, по умолчанию, пользовательский экземпляр systemd запускается для каждого пользователя, который в данный момент вошел в систему. Их можно узнать через:
Таймеры этих пользователей можно перечислить через:
Альтернативой команде
list-timers
является поиск файлов блоков таймеров (шаблон:*.timer
) и символических ссылок на них в обычных системных и пользовательских каталогах конфигурации systemd:(Как и в случае с обычными сервисными блоками, блок таймера включается путем создания символической ссылки в нужном каталоге systemd config).
См. также:
Вывести список всех кронов для данного пользователя.
Чтобы перечислить все кроны для всех пользователей
Запустите его от имени суперпользователя