जवाबों:
आप फ़ोल्डर देखने और स्क्रिप्ट को चलाने के लिए ऑटोमेटर और फोल्डर क्रियाओं का उपयोग कर सकते हैं।
ऑटोमेटर को लॉन्च करने और नया चुनने पर, दिए गए विकल्पों में से एक 'फोल्डर एक्शन' बनाना है। फ़ोल्डर एक्शन का चयन करने के बाद स्क्रीन के शीर्ष पर आपको 'घड़ी' के लिए एक फ़ोल्डर चुनने का विकल्प दिया जाता है।
मुझे लगता है कि आप अपने मामले में क्या करना चाहते हैं, फिर बाएं स्तंभ पर 'उपयोगिताएँ' चुनें, और फिर 'रन शैल स्क्रिप्ट' को दूसरे कॉलम से वर्कफ़्लो विंडो में खींचें।
यहां वह है जहां आप लिखेंगे कि फ़ोल्डर में परिवर्तन किए जाने पर आप जो भी स्क्रिप्ट चलाना चाहते हैं। इस स्थिति में आपकी rsync स्क्रिप्ट।
इस प्रश्न का एक त्वरित और गंदा समाधान जो UNIX प्लेटफार्मों में पोर्टेबल है (OSX के लिए विशिष्ट नहीं है, लेकिन HP-UX, Solaris, Linux, आदि पर उपयोग किया जा सकता है) उपयोगकर्ता के crontab से rsync को कॉल करना है, और rsync का फ़ोल्डर सिंक्रनाइज़ेशन करना है। तर्क स्वयं निर्धारित करता है कि फ़ोल्डर बदला गया है या नहीं। इस पोर्टेबल समाधान का उपयोग करने के लिए एक शोधन एक छुआ फाइल (वास्तव में इसके संशोधन समय) और फ़ोल्डर के संशोधन समय के बीच एक तारीख परीक्षण के साथ rsync को लपेटने के लिए है, लेकिन यह तब तक आवश्यक नहीं है जब तक कि फ़ोल्डर्स न हों समकालिक होना बहुत बड़ा (गहरा और / या चौड़ा) है। कई सबफ़ोल्डर्स वाला एकल फ़ोल्डर इस समाधान के लिए आदर्श है।
एक मिनट के मतदान अंतराल पर "त्वरित और गंदे" मामले का प्रदर्शन करने वाले क्रॉस्टैब के लिए एक प्रविष्टि है:
# run sync every minute:
* * * * * /usr/bin/rsync -avz $HOME/source_path $HOME/target/path 1>> $HOME/.my_sync.log 2>&1
इसे त्वरित और गंदे मामले के लिए करना चाहिए - दूसरे शब्दों में, फ़ोल्डर्स को एक बदलाव करने के एक मिनट के भीतर अद्यतित रखा जाएगा। निष्पादन की स्थिति के लिए ~ / .my_sync.log फ़ाइल जांचें - यह फ़ाइल समय के साथ सीमा के बिना बढ़ेगी, इसलिए सही संचालन निर्धारित होने के बाद, कम से कम सबसे हाल के rsync स्थिति को लॉग करने के लिए ">>" से ">" बदलें।
एक अन्य सूचक यह है कि नेटवर्क पर सिंक करते समय rsync पर -z स्विच का उपयोग किया जाना चाहिए। -Z स्विच नेटवर्क फाइल ट्रांसफर के लिए उपयोग किए जाने वाले संपीड़न का कारण बनेगा। जब एक सर्वर पर स्थानीय फ़ाइल सिस्टम पर फ़ोल्डर्स के बीच सिंक करने के लिए rsync का उपयोग करते हैं, तो -z स्विच आमतौर पर छोड़ा जा सकता है।
Crontab का उपयोग करने के बारे में ध्यान दें:
यदि आप अपना कॉन्टैब इसके साथ संपादित नहीं कर सकते हैं:
$ crontab -e
फिर आपको अपने आप को एक क्रॉस्टैब रखने की अनुमति देनी होगी। Crontab के लिए मैन पेज देखें। OSX में, यह वही है जो करने की आवश्यकता है - परिवर्तन लिनक्स सिस्टम पर थोड़ा अलग है: संक्षेप में, सुनिश्चित करें कि आपकी उपयोगकर्ता आईडी /usr/lib/cron/cron.allow या उस / usr / lib / क्रोन / में है cron.allow मौजूद नहीं है। यह भी सुनिश्चित करें कि आपकी यूजर आईडी /usr/lib/cron/cron.deny में नहीं है।
rsync
औरinotify
जैसे कि यह एक