Jako root, jak mogę wyświetlić listy crontab dla wszystkich użytkowników?


47

Mam skrypt uruchamiany automatycznie, którego nie mogę znaleźć w crontabie dla oczekiwanych użytkowników, dlatego chciałbym wyszukać go w crontabach wszystkich użytkowników.

Zasadniczo chcę uruchomić crontab -ldla wszystkich użytkowników.

Odpowiedzi:


77

Cóż, zależy od skryptu, ale łatwo możesz znaleźć crontab jako root

crontab -l -u <user>

Lub możesz znaleźć crontab ze szpuli, w której znajduje się plik dla wszystkich użytkowników

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

Aby wyświetlić tabele wszystkich użytkowników z nazwą użytkownika wydrukowaną na początku każdego wiersza:

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

1
Niesamowite, wyglądające w / var / spool / cron / crontabs / działało ładnie, dzięki!
Wysoce nieregularny

1
crontab -e -u <user>edycja również działa
vladkras

/var/spool/cron/<user>na moim hoście Centos 7.
Bob Stein

5

Jedna linijka, która zawiera listę wszystkich użytkowników i drukuje cron dla każdego użytkownika:

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

To rozwiązanie:

  • Nie wymaga znajomości ścieżki crontab specyficznej dla systemu (np. /var/spool/cron/crontabs/Vs/var/spool/cron/
  • Nie będzie wyświetlać „osieroconych” cronów, tj. Cronów dla użytkowników, którzy już nie istnieją (a zatem nie są wykonywani skutecznie)

Uwaga: działa to, shale nie bash.
Tiw

0

W RHEL / OEL możesz wyświetlić listę zadań cron utworzonych przez wszystkich użytkowników:

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

Aby zobaczyć cronjobs roota:

#cat root

Należy użyć interfejsu (polecenia) crontab (1), ponieważ chroni on przed jednoczesną edycją bazy danych crontab.
Dirk
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.