निर्देशिका पर ट्रिगर कैसे लगाया जाए


25

मेरे पास एक स्क्रिप्ट है जो एक निर्देशिका को स्कैन करती है और इसमें फाइलों पर कुछ रखरखाव करती है। एक अन्य प्रक्रिया डायरेक्टरी में फाइलें बनाती है (प्रति दिन 10 - 30 फाइलें)।

स्क्रिप्ट को दैनिक क्रोन जॉब के माध्यम से कहा जाता है। मुझे एक घटना पर स्क्रिप्ट को ट्रिगर करने की आवश्यकता है (हर बार एक नई फ़ाइल निर्देशिका में बनाई गई है)। मैं क्रॉन जॉब की आवृत्ति बढ़ाने के बजाय इसे पसंद करता हूं।

मैं उसे कैसे कर सकता हूँ? क्या कोई कमांड या प्रोग्राम इंस्टॉल करना है?

किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद।

जवाबों:


23

inoticoming

inoticoming एक निर्देशिका को देखने के लिए लिनक्स के इनोटिफ़ाइएट फ्रेमवर्क और ट्रिगर एक्शन के साथ एक डेमॉन है, जिसमें विशिष्ट नाम वाली फाइलें रखी जाती हैं।

उदाहरण के लिए इसका उपयोग एक निर्देशिका में अपलोड की गई .changes फ़ाइलों के लिए प्रतीक्षा करने के लिए किया जा सकता है और उन्हें अपने रिपॉजिटरी में डालने के लिए reprepro को कॉल करें।

incron

incron एक "इनोटिफ़ाइ क्रोन" सिस्टम है। यह नियमित क्रोन की तरह काम करता है लेकिन समय की घटनाओं के बजाय फाइलसिस्टम घटनाओं द्वारा संचालित होता है। यह पैकेज दो कार्यक्रम प्रदान करता है, एक डेमॉन "इनक्रोनड" (क्रोनड के अनुरूप) और एक टेबल मैनिप्युलेटर "इंकट्रैब" (जैसे "क्रॉन्ताब")।

incron Linux कर्नेल का उपयोग करता है syscalls inotify।

क्रोन की तरह, प्रत्येक उपयोगकर्ता अपने स्वयं के इंकॉन तालिकाओं को संपादित कर सकता है।


2
क्या आप एक उदाहरण प्रदान कर सकते हैं? मैनुअल पृष्ठों के लिंक भी स्वागत करते हैं, मैं के लिए एक नहीं पा सके incron, inoticomingएक है यहाँ
लेकेनस्टाइन

इंक्रॉन के लिए इन्क्रोनड, इंकॉर्स्टब और इंक्रॉन.कॉन्फ़ के मैनपेज़ देखें
फ्लोरियन डिस्च

2
मैंने आपके उत्तर को इस तरह से संपादित किया है जैसे मैं इसे देखना चाहता था। मैंने इसे संकुल विवरणों से कॉपी किया, कृपया नामकरण कार्यक्रम के दौरान भविष्य में इतने व्यापक
रहें

4

एक छोटा सा कार्यक्रम भी कहा जाता है iwatch- मैन पेज देखें (यह पेज उबंटू सटीक (12.04) के लिए है, इसमें अन्य ubuntu संस्करणों के लिंक हैं)।

iwatch क्षमता फ़ोल्डर को पुनरावर्ती रूप से देखें (यानी: सबफ़ोल्डर्स भी) और फ़ाइल / निर्देशिका घटनाओं के जवाब में ईमेल भेजने के लिए।


3

एक और उपयोगिता जानने लायक है fileschanged( मैन पेज यहां ), जो चयनित फाइलों या निर्देशिकाओं पर फाइलसिस्टम घटना की निगरानी कर सकता है, उदाहरण के लिए निम्न कमांड

fileschanged -s created -t1 $PWD

फ़ाइल निर्माण घटनाओं के लिए वर्तमान निर्देशिका की निगरानी करना चाहिए, stdout1sec टाइमआउट के साथ बनाई गई फ़ाइल का नाम लिखना ।

fileschangediwatchइसके विपरीत incronऔर (के रूप में एक और जवाब में उल्लेख किया जा सकता है ) फ़ोल्डरों को पुन: देख सकते हैं inoticoming


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