Як root, як я можу перелічити ліцензії для всіх користувачів?


47

У мене автоматично запускається сценарій, який я не можу знайти в crontab для очікуваних користувачів, тому я хотів би шукати кроносні вкладки всіх користувачів для цього.

По суті, я хочу запустити crontab -lдля всіх користувачів.

Відповіді:


77

Добре залежить від сценарію, але ви легко можете знайти свій crontab як root

crontab -l -u <user>

Або ви можете знайти crontab з золотника, де знаходиться файл для всіх користувачів

cat /var/spool/cron/crontabs/<user>

Щоб показати кронові вкладки всіх користувачів із надрукованим на початку кожного рядка ім'ям користувача:

cd /var/spool/cron/crontabs/ && grep . *

1
Чудово, заглядаючи в / var / spool / cron / crontabs / прекрасно працював, дякую!
Вкрай нерегулярний

1
crontab -e -u <user>для редагування це також працює
vladkras

/var/spool/cron/<user>на моєму хості Centos 7.
Боб Штейн

5

Один вкладиш, який перераховує всіх користувачів та друкує крон для кожного користувача:

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.
Тів

0

У RHEL / OEL ви можете перелічити завдання cron, створені всіма користувачами:

#cd /var/spool/cron/
#ls -1
root
oracle
user1

Щоб побачити кроні роботи кореня:

#cat root

Необхідно використовувати інтерфейс (команду) crontab (1), оскільки він захищає від одночасного редагування бази даних crontab.
Дірк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.