Kök olarak, tüm kullanıcılar için crontab'ları nasıl listeleyebilirim?


46

Beklenen kullanıcılar için crontab'da bulamadığım otomatik olarak çalışan bir betiğim var, bu yüzden tüm kullanıcıların crontab'larını araştırmak istiyorum.

Temelde ben crontab -ltüm kullanıcılar için bir çalıştırmak istiyorum .

Yanıtlar:


76

Komut dosyasına bağlı, ancak kolayca crontab'ınızı root olarak bulabilirsiniz.

crontab -l -u <user>

Veya crontab'ı tüm kullanıcılar için bir dosya olan spool'da bulabilirsiniz.

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

Tüm kullanıcıların crontab'larını her satırın başında basılmış olan kullanıcı adı ile göstermek için:

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

1
Korku veren, / var / spool / cron / crontabs / güzel göründü, teşekkürler!
Çok Düzensiz

1
crontab -e -u <user>düzenlemek için de çalışıyor
vladkras

/var/spool/cron/<user>Centos 7 sunucumda.
Bob Stein

5

Tüm kullanıcıları listeleyen ve her kullanıcı için cron yazdıran bir astar:

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

Bu çözüm:

  • Bir sisteme özgü crontab yolunu bilmenizi gerektirmez (örneğin, /var/spool/cron/crontabs/vs/var/spool/cron/
  • "Yetim" kroneleri listelemeyecek, yani artık bulunmayan kullanıcılar için kronometreler (ve bu nedenle etkili bir şekilde yürütülmüyorlar)

Not: Bu, shancak bunun için çalışır bash.
Tiw,

0

RHEL / OEL'de tüm kullanıcılar tarafından oluşturulan cron işlerini listeleyebilirsiniz:

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

Kökün cronjobs'unu görmek için:

#cat root

Crontab (1) arayüzü (command), crontab veritabanının eşzamanlı düzenlemesine karşı koruduğundan kullanılmalıdır.
Dirk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.