zaLinux.ru

Как вывести все задачи Cron


Показ всех работ Cron для всех пользователей

Для вывода задач в расписании Cron для каждого пользователя, используйте следующую команду:

for user in $(cut -f1 -d: /etc/passwd); do sudo crontab -u $user -l 2>/dev/null | grep -v '^#'; done

Повышенные привилегии нужны для вывода информации о всех пользователях — в противном случае, будут показаны задачи в расписании только текущего пользователя.

Предыдущая команда подавляет вывод ошибок, чтобы не показывать сообщения вида «no crontab for mysql», поэтому если вам нужно выводить все сообщения для отладки, то используйте следующую команду:

for user in $(cut -f1 -d: /etc/passwd); do sudo crontab -u $user -l | grep -v '^#'; done

Когда пользователи определены в NIS или LDAP, то /etc/passwd нужно заменить на команду getent, то есть нужно использовать следующую команду:


for user in $(getent passwd | cut -f1 -d: ); do echo $user; sudo crontab -u $user -l; done

Все файлы Cron

Расположение файлов с расписанием задач Cron различается в разных дистрибутивах. Чтобы вывести информацию из всех возможных файлов Cron, используйте следующую команду:

grep '*' --color /etc/anacrontab /var/spool/cron/crontabs/* /var/spool/cron/* /etc/cron.hourly/* /etc/cron.daily/* /etc/cron.weekly/* /etc/cron.monthly/* /etc/cron.d/* /etc/init.d/down 2>/dev/null

Вариант этой команды, который выведет абсолютно все строки в данных файлах:

grep '.*' --color /etc/anacrontab /var/spool/cron/crontabs/* /var/spool/cron/* /etc/cron.hourly/* /etc/cron.daily/* /etc/cron.weekly/* /etc/cron.monthly/* /etc/cron.d/* /etc/init.d/down 2>/dev/null

Данная команда выведет название и содержимое всех файлов по указанным расположениям, при этом ошибки вида «cannot open '/etc/cron.daily/*' for reading: No such file or directory» выводится не будут.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *