निर्देशिका पर प्रदर्शन की गई सभी घटनाओं को कैसे लॉग करें?


12

मैं किसी विशेष निर्देशिका पर किए गए सभी ईवेंट कैसे लॉग कर सकता हूं?

मैं प्रत्येक निर्देशिका की प्रविष्टि को कुछ समय अवधि के भीतर संशोधित करना चाहता हूं। मैं find . -type d -mmin -5कमांड का उपयोग कर रहा हूं ।

इसके अलावा, मैं और अधिक विवरण रखना चाहता हूं, जब किसी भी निर्देशिका को किसी अन्य स्थान पर ले जाया जाता है, तो मुझे नीचे दिए गए विवरणों को जोड़ना होगा, जैसे,।

निर्देशिका "xyz" को "घर / usr / xyz" => से "घर / usr / दस्तावेज़ / दस्तावेज़" में स्थानांतरित कर दिया गया है

जवाबों:


9

यदि उपयोग कर रहे हैं Linux, तो आपको inotifywaitकमांड का प्रयास करना चाहिए , यह फाइलों या निर्देशिकाओं पर घटनाओं को सुनने के लिए डिज़ाइन किया गया है।

inotifywait -m -r /dir

आप whileआउटपुट को फ़िल्टर करने के लिए उस पर एक लूप का उपयोग कर सकते हैं ।

इसके अलावा, यह बहुत हल्का है: poll()हर एन सेकंड के लिए कोई ज़रूरत नहीं है , यह सब जादू है।

देखें http://inotify-tools.sourceforge.net/


URL प्रोजेक्ट doc जोड़ा गया।
गाइल्स क्वांनट

inotifyलिनक्स विशिष्ट है लेकिन सवाल लिनक्स को टैग नहीं किया गया है। हालांकि अच्छा समाधान इस तरह से ओएस विशिष्ट होने जा रहे हैं।
जोर्डनम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.