Sebagai root, bagaimana saya bisa mendaftar crontab untuk semua pengguna?

47

Saya memiliki skrip yang dijalankan secara otomatis yang tidak dapat saya temukan di crontab untuk pengguna yang diharapkan, jadi saya ingin mencari semua crontab pengguna untuk itu.

Intinya saya ingin menjalankan crontab -luntuk semua pengguna.

Sangat Tidak Teratur
sumber

Jawaban:

77

Baik tergantung pada skrip tetapi dengan mudah Anda dapat menemukan crontab Anda sebagai root

crontab -l -u <user>

Atau Anda dapat menemukan crontab dari spool di mana file terletak untuk semua pengguna

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

Untuk menampilkan semua crontab pengguna dengan nama pengguna yang tercetak di awal setiap baris:

cd /var/spool/cron/crontabs/ && grep . *
klerk
sumber
1
Luar biasa, mencari di / var / spool / cron / crontab / bekerja dengan baik, terima kasih!
Sangat tidak teratur
1
crontab -e -u <user>untuk mengeditnya juga berfungsi
vladkras
/var/spool/cron/<user>pada tuan rumah Centos 7 saya.
Bob Stein
5

Satu liner yang mencantumkan semua pengguna dan mencetak cron untuk setiap pengguna:

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

Solusi ini:

  • Tidak perlu mengetahui jalur crontab khusus sistem (mis. /var/spool/cron/crontabs/Vs./var/spool/cron/
  • Tidak akan mencantumkan crons "yatim", yaitu crons untuk pengguna yang tidak ada lagi (dan karenanya tidak dijalankan secara efektif)
Jakub Kukul
sumber
Catatan: ini berfungsi untuk shtetapi tidak bash.
Tiw
0

Di RHEL / OEL Anda bisa daftar pekerjaan cron yang dibuat oleh semua pengguna:

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

Untuk melihat cronjobs root:

#cat root
Vivek BS
sumber
Antarmuka (perintah) crontab harus digunakan, karena melindungi terhadap pengeditan bersamaan dari database crontab.
Dirk