मॉनिटर फ़ोल्डर सामग्री में परिवर्तन


18

मैं टेल-ऑफ़ कमांड का उपयोग करके फ़ाइल के सामग्री परिवर्तनों की निगरानी कर सकता हूं

वहाँ एक निर्देशिका संरचना के परिवर्तन की निगरानी का एक समान तरीका है जिस तरह से पूंछ -f मॉनिटर फ़ाइल?

मेरे पास एक लंबी चलने वाली प्रक्रिया है जो एक निर्देशिका के तहत एक निश्चित पथ पर फ़ाइल जोड़ती है और मैं निर्देशिकाओं और उप निर्देशिकाओं के रूप में फ़ाइल अपूर्णता को ट्रैक करना चाहता हूं (या वे) लिखते हैं।

जवाबों:


27

inotifyगिरी प्रणाली है कि तुम क्या जरूरत है।

  1. स्थापित करें inotify-tools:

    sudo apt-get install inotify-tools
    
  2. एक घड़ी सेट करें:

    inotifywait /path/to/directory --recursive --monitor
    
  3. वापस बैठें और आउटपुट देखें।


से man inotifywait:

-m, --monitor
   Instead of exiting  after  receiving  a  single  event,  execute
   indefinitely.   The default behaviour is to exit after the first
   event occurs.
-r, --recursive
   Watch all subdirectories of any directories passed as arguments.
   Watches will be set up recursively to an unlimited depth.   Sym‐
   bolic  links  are  not  traversed.  Newly created subdirectories
   will also be watched.

आप --eventविशिष्ट घटनाओं के लिए देखने के विकल्प का उपयोग कर सकते हैं , जैसे निर्माण, संशोधन, आदि।


1
किसी को भी इस समस्या का सामना करना पड़ता है: देखने में विफल; inotify घड़ियों पर ऊपरी सीमा यहाँ जाना पहुँच blog.sorah.jp/2012/01/24/inotify-limitation
johan.i.zahri

1
मेरे एक सर्वर पर मुझे पता चला कि इसे अब inotify-waitइसका जस्ट नहीं कहा जाता है inotifywait। उन्होंने हाइफन को हटाने के लिए नाम बदल दिया होगा।
जेम्सकिंग 56

@ जेम्सकिंग 56 मैंने हाइफ़न को संपादित किया।
मूरू

नोट, inotifywait के लिए मदद का कहना है कि यह फ़ाइल पथों से पहले विकल्पों की अपेक्षा करता है।
फेलिक्स डोमबेक

8

--eventsफ़िल्टर नहीं है, आपको उपयोग करना होगा --event। उदाहरण के लिए, ईवेंट बनाने / संशोधित करने की निगरानी के लिए कमांड लाइन यहाँ है:

# inotifywait . --recursive --monitor --event CREATE --event MODIFY

तब मैं देखता हूं:

Setting up watches.  Beware: since -r was given, this may take a while!

और यहाँ फ़ीड का प्रारूप है:

[path] [event] [file]

जैसे

./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.