दूसरा उदाहरण बैच डेटा को मानक इनपुट के माध्यम से पढ़ता है ताकि बैच फ़ाइल को पहले दूरस्थ मशीन पर कॉपी करने की आवश्यकता न हो। यह उदाहरण foo.sh स्क्रिप्ट से बचता है क्योंकि इसे संशोधित-अप-बैच विकल्प का उपयोग करने की आवश्यकता थी, लेकिन आप स्क्रिप्ट फ़ाइल को संपादित कर सकते हैं यदि आप इसका उपयोग करना चाहते हैं (बस यह सुनिश्चित करें कि कोई अन्य विकल्प मानक का उपयोग करने की कोशिश नहीं कर रहा है इनपुट, जैसे "--exclude-from = -" विकल्प)।
चेतावनियां:
रीड-बैच विकल्प डेस्टिनेशन ट्री को उम्मीद करता है कि यह डेस्टिनेशन ट्री के समान अपडेट हो रहा है जो बैच अपडेट फाइलसेट बनाने के लिए उपयोग किया गया था। जब नियति राष्ट्र के पेड़ों के बीच अंतर का सामना किया जाता है तो अद्यतन को चेतावनी के साथ छोड़ दिया जा सकता है (यदि फ़ाइल पहले से अद्यतित प्रतीत होती है) या फ़ाइल-अद्यतन का प्रयास किया जा सकता है और फिर, यदि फ़ाइल सत्यापित करने में विफल रहती है , अद्यतन एक त्रुटि के साथ त्याग दिया गया। इसका मतलब है कि कमांड को बाधित होने पर रीड-बैच ऑपरेशन को फिर से चलाना सुरक्षित होना चाहिए। यदि आप फ़ाइल के आकार और दिनांक की परवाह किए बिना हमेशा बैचेड-अपडेट को बाध्य करने की इच्छा रखते हैं, तो -I विकल्प (बैच को पढ़ते समय) का उपयोग करें। यदि कोई त्रुटि होती है, तो गंतव्य ट्री संभवतः आंशिक रूप से अद्यतन स्थिति में होगा। उस स्तिथि में,
सभी गंतव्यों पर उपयोग किया जाने वाला rsync संस्करण कम से कम उतना ही नया होना चाहिए जितना कि बैच फ़ाइल उत्पन्न करने के लिए उपयोग किया जाता है। यदि बैच फ़ाइल में प्रोटोकॉल संस्करण बैच रीडिंग के लिए rsync को हैंडल करने के लिए बहुत नया है, तो रुपी रुख से त्रुटि हो जाएगी। एक तरह से rsync बनाने के लिए --protocol विकल्प को भी देखें एक बैच फ़ाइल उत्पन्न करता है जिसे एक पुराने rsync समझ सकता है। (ध्यान दें कि बैच फ़ाइलों ने 2.6.3 संस्करण में चटाई बदल दी है, इसलिए नए संस्करणों के साथ पुराने संस्करणों को मिलाने से काम नहीं चलेगा।)
बैच फ़ाइल पढ़ते समय, rsync बैच फ़ाइल में डेटा से मिलान करने के लिए कुछ विकल्पों के मूल्य को बाध्य करेगा यदि आपने उन्हें बैच-लेखन कमांड के समान सेट नहीं किया था। अन्य विकल्प बदल सकते हैं (और चाहिए)। उदाहरण के लिए - राइट-बैच परिवर्तनों को --read-बैच, --files से से हटा दिया गया है, और --filter / - में / - शामिल विकल्पों को तब तक आवश्यक नहीं है जब तक कि --delete विकल्पों में से एक निर्दिष्ट न हो ।
BATCH.sh फ़ाइल बनाने वाला कोड किसी भी फ़िल्टर को शामिल करता है / एक सूची में विकल्प शामिल / बाहर करता है जिसे शेल स्क्रिप्ट फ़ाइल में "यहाँ" दस्तावेज़ के रूप में जोड़ा जाता है। एक उन्नत उपयोगकर्ता इसे बाहर करने की सूची को संशोधित करने के लिए उपयोग कर सकता है, यदि - डिलीट द्वारा हटाए गए में कोई परिवर्तन वांछित है। एक सामान्य उपयोगकर्ता इस विवरण को अनदेखा कर सकता है और केवल शेल स्क्रिप्ट का उपयोग बैचेड डेटा के लिए उपयुक्त -्रेड-बैच कमांड को चलाने के लिए एक आसान तरीके के रूप में करता है।
Rsync में मूल बैच मोड "rsync +" पर आधारित था, लेकिन नवीनतम संस्करण एक नए कार्यान्वयन का उपयोग करता है।
remote destination is not allowed with --read-batch