Как мне перечислить все задания cron для всех пользователей? - PullRequest
791 голосов
/ 25 сентября 2008

Существует ли команда или существующий сценарий, который позволяет мне просматривать все запланированные задания cron * системы NIX одновременно? Я бы хотел, чтобы он включал все пользовательские crontabs, а также /etc/crontab и все, что есть в /etc/cron.d. Также было бы неплохо увидеть конкретные команды, запускаемые run-parts в /etc/crontab.

В идеале, я хотел бы, чтобы выходные данные были в приятной форме столбца и упорядочены каким-либо осмысленным образом.

Затем я мог бы объединить эти списки с нескольких серверов, чтобы просмотреть общее «расписание событий».

Я собирался написать такой сценарий сам, но если кто-то уже пошел на неприятности ...

Ответы [ 23 ]

1 голос
/ 28 июля 2016

Поскольку речь идет о циклическом просмотре файла (/etc/passwd) и выполнении действия, я упускаю правильный подход к Как можно построчно прочитать файл (поток данных, переменную) (и / или поле за полем)? :

while IFS=":" read -r user _
do
   echo "crontab for user ${user}:"
   crontab -u "$user" -l
done < /etc/passwd

Это читает /etc/passwd построчно, используя : в качестве разделителя полей. Говоря read -r user _, мы заставляем $user держать первое поле и _ остальное (это просто переменная нежелательной почты, чтобы игнорировать поля).

Таким образом, мы можем затем вызвать crontab -u, используя переменную $user, которую мы цитируем для безопасности (что, если она содержит пробелы? В этом файле это маловероятно, но вы никогда не узнаете).

0 голосов
/ 16 января 2015

Этот скрипт выводит Crontab в файл, а также перечисляет всех пользователей, подтверждающих тех, у кого нет записи в crontab:

for user in $(cut -f1 -d: /etc/passwd); do 
  echo $user >> crontab.bak
  echo "" >> crontab.bak
  crontab -u $user -l >> crontab.bak 2>> > crontab.bak
done
0 голосов
/ 19 декабря 2016

Для меня лучше посмотреть / var / spool / cron / crontabs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...