У меня автоматически запускается скрипт, который я не могу найти в crontab для ожидаемых пользователей, поэтому я хотел бы найти его в crontabs всех пользователей.
По сути, я хочу запустить crontab -l
для всех пользователей.
У меня автоматически запускается скрипт, который я не могу найти в crontab для ожидаемых пользователей, поэтому я хотел бы найти его в crontabs всех пользователей.
По сути, я хочу запустить crontab -l
для всех пользователей.
Ответы:
Хорошо зависит от скрипта, но вы легко можете найти свой crontab как root с
crontab -l -u <user>
Или вы можете найти crontab из спула, где находится файл для всех пользователей
cat /var/spool/cron/crontabs/<user>
Чтобы показать crontabs всех пользователей с именем пользователя, напечатанным в начале каждой строки:
cd /var/spool/cron/crontabs/ && grep . *
crontab -e -u <user>
редактировать это работает также
/var/spool/cron/<user>
на моем хосте Centos 7.
Один лайнер, который перечисляет всех пользователей и печатает cron для каждого пользователя:
for user in $(getent passwd | cut -f1 -d: ); do echo $user; crontab -u $user -l; done
Это решение:
/var/spool/cron/crontabs/
vs/var/spool/cron/
sh
но нет bash
.
В RHEL / OEL вы можете перечислить задания cron, созданные всеми пользователями:
#cd /var/spool/cron/
#ls -1
root
oracle
user1
Чтобы увидеть cronjobs рута:
#cat root