Tôi có một tập lệnh được chạy tự động mà tôi không thể tìm thấy trong crontab cho người dùng mong đợi, vì vậy tôi muốn tìm kiếm tất cả các crontab của người dùng cho nó.
Về cơ bản tôi muốn chạy một crontab -l
cho tất cả người dùng.
Tôi có một tập lệnh được chạy tự động mà tôi không thể tìm thấy trong crontab cho người dùng mong đợi, vì vậy tôi muốn tìm kiếm tất cả các crontab của người dùng cho nó.
Về cơ bản tôi muốn chạy một crontab -l
cho tất cả người dùng.
Câu trả lời:
Cũng phụ thuộc vào tập lệnh nhưng dễ dàng bạn có thể tìm thấy crontab của mình với quyền root với
crontab -l -u <user>
Hoặc bạn có thể tìm thấy crontab từ spool nơi đặt tệp cho tất cả người dùng
cat /var/spool/cron/crontabs/<user>
Để hiển thị tất cả các crontabs của người dùng với tên người dùng được in ở đầu mỗi dòng:
cd /var/spool/cron/crontabs/ && grep . *
crontab -e -u <user>
để chỉnh sửa nó cũng hoạt động
/var/spool/cron/<user>
trên máy chủ Centos 7 của tôi.
Một lớp lót liệt kê tất cả người dùng và in cron cho mọi người dùng:
for user in $(getent passwd | cut -f1 -d: ); do echo $user; crontab -u $user -l; done
Giải pháp này:
/var/spool/cron/crontabs/
vs/var/spool/cron/
sh
nhưng không bash
.
Trong RHEL / OEL, bạn có thể liệt kê các công việc định kỳ được tạo bởi tất cả người dùng:
#cd /var/spool/cron/
#ls -1
root
oracle
user1
Để xem cronjobs gốc:
#cat root