ฉันกำลังใช้ แจ้งเตือน
เพื่อติดตามเหตุการณ์ในไฟล์เดียว (แทนไดเร็กทอรี) เช่น
$ inotifywait -m -e เปิด -e ปิด -e ย้าย myfile.txt
เมื่อฉันเปิดและแก้ไขไฟล์ บันทึกจะถูกพิมพ์ตามที่คาดไว้
การตั้งค่านาฬิกา
ก่อตั้งนาฬิกา
myfile.txt เปิด
myfile.txt CLOSE_NOWRITE,CLOSE
แต่ inotify ไม่เคยปล่อยเช่นกัน ย้ายแล้ว_IN
, ย้าย_จาก
เหตุการณ์ (ไม่แม้แต่ DELETE_SELF
) เมื่อฉันเปลี่ยนชื่อไฟล์ ในทางกลับกัน ถ้าผมดู ไดเรกทอรี ที่มี myfile.txt
แทนที่จะเป็นไฟล์เดียว เหตุการณ์จะถูกส่งตามปกติ
จุดที่แปลกอย่างหนึ่งสำหรับฉันคือการเปิดและปิดไฟล์ที่เปลี่ยนชื่อยังคงบันทึกเหตุการณ์
myfile.txt เปิด
myfile.txt CLOSE_NOWRITE,CLOSE
ณ จุดนี้ ไฟล์ของฉันไม่ใช่ myfile.txt
แต่มีอีกชื่อหนึ่ง โดยเฉพาะอย่างยิ่ง inotify ไม่ติดตามเหตุการณ์ใด ๆ ที่เกิดขึ้นจากการทำงานที่สร้างขึ้นใหม่ myfile.txt
.
คำถามของฉันคือ:
ฉันจะติดตามเหตุการณ์ "การเปลี่ยนชื่อ" ของไฟล์เดียวได้อย่างถูกต้องได้อย่างไร แจ้งเตือน
ในขณะที่ไม่ได้ดูไดเร็กทอรีแบบเต็ม?
ฉันจะรับชื่อปัจจุบันของไฟล์เดียวที่รับชมได้อย่างไร --รูปแบบ "%f"
ดูเหมือนว่าตัวเลือกจะพิมพ์ชื่อไฟล์ต้นฉบับที่ส่งไปเสมอ แจ้งเตือน
แม้ว่าไฟล์จะถูกเปลี่ยนชื่อตามที่แสดงด้านบน
ฉันกำลังมองหา "ตัวบันทึกประวัติการเปลี่ยนชื่อ" ที่ใช้ได้กับชุดไฟล์ที่กำหนดซึ่งกระจัดกระจายอยู่ในระบบไฟล์ มีทางเลือกอื่นในการแจ้งเพื่อวัตถุประสงค์เฉพาะนี้หรือไม่?