Có cách nào đáng tin cậy để có một hệ thống gửi cho tôi danh sách các tệp đã được sửa đổi trong 24 giờ qua trong một tập hợp các thư mục không? (thích /home/*/public_html/*
và /home/*/*domains/*
)
Có cách nào đáng tin cậy để có một hệ thống gửi cho tôi danh sách các tệp đã được sửa đổi trong 24 giờ qua trong một tập hợp các thư mục không? (thích /home/*/public_html/*
và /home/*/*domains/*
)
Câu trả lời:
Nếu bạn muốn tìm các tập tin được sửa đổi trong vòng 24 giờ qua, thì đây là cách.
find /usr/bin/find /home/*/public_html/ -ctime 0 -type f -print0 | mailx -s "Summary of the modified files in past 24hours" my_mail_address
Nếu bạn muốn tìm cái tương tự, từ trong 24 giờ qua-48 giờ trước
find /usr/bin/find /home/*/public_html/ -ctime 1 -type f -print0 | mailx -s "Summary of the modified files in last 2 days" my_email_address
ctime 0
0 có nghĩa là trong vòng 24 giờ qua, 1 có nghĩa là trong 24 đến 48 giờ trước, 2 có nghĩa là từ 48 đến 72 giờ trước, v.v.
Bạn có thể thiết lập một cronjob hàng ngày, có thể chạy có lẽ vào cuối giờ làm việc hoặc vào đầu ngày. Hoặc cả hai, để biết những tập tin nào đã thay đổi trong ngày làm việc và một khi bạn không có mặt.
ctime
là thời gian thay đổi inode. Bạn có thể muốn mtime
(thời gian sửa đổi). Hãy nhớ rằng người dùng có thể ghi đè các dấu thời gian này; các chương trình như tar
(khi giải nén) thường xuyên làm. Nếu bạn muốn chắc chắn, bạn cần theo dõi tổng kiểm tra; xem xét Tripwire, Samhain, v.v.