วิธีบันทึกกิจกรรมทั้งหมดที่ทำในไดเรกทอรีได้อย่างไร


12

ฉันจะบันทึกกิจกรรมทั้งหมดที่ดำเนินการในไดเรกทอรีเฉพาะได้อย่างไร

ฉันต้องการบันทึกรายการของแต่ละไดเรกทอรีที่แก้ไขภายในระยะเวลาหนึ่ง ฉันใช้find . -type d -mmin -5คำสั่ง

นอกจากนี้ฉันต้องการใส่รายละเอียดเพิ่มเติมเมื่อย้ายไดเรกทอรีไปที่อื่นฉันต้องเพิ่มรายละเอียดบันทึกด้านล่างเช่น.,

ย้ายไดเรกทอรี "xyz" จาก "home / usr / xyz" => เป็น "home / usr / เอกสาร / xyz"

คำตอบ:


9

หากใช้Linuxคุณควรลองใช้inotifywaitคำสั่งมันออกแบบมาเพื่อฟังเหตุการณ์ในไฟล์หรือไดเรกทอรี

inotifywait -m -r /dir

คุณสามารถใช้การwhileวนซ้ำเพื่อกรองเอาท์พุท

ยิ่งกว่านั้นมันเบามาก: ไม่จำเป็นต้องมีpoll()ทุก ๆ N วินาทีนั่นคือความมหัศจรรย์ทั้งหมด

ดูhttp://inotify-tools.sourceforge.net/


เพิ่มเอกสารโครงการ URL แล้ว
Gilles Quenot

inotifyเฉพาะ Linux แต่คำถามไม่ได้ติดแท็ก Linux โซลูชันที่ดีจะเป็นระบบปฏิบัติการที่เจาะจงเช่นนี้
จอร์แดน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.