rsync --remove-source-files एक-एक करके या rsync पूरा होने के बाद स्रोत फ़ाइलों को हटा देता है?


23

मेरे पास एक एप्लिकेशन में एक rsync कमांड है जो किसी फ़ोल्डर की सामग्री को किसी अन्य मशीन में कॉपी करता है। मेरे पास विकल्प है --remove-source-filesक्योंकि मैं केवल rsync समाप्त होने के बाद गंतव्य मशीन पर फाइलें रखने में दिलचस्पी रखता हूं।

हालाँकि, मैं सोच रहा था कि यदि फ़ाइलें ट्रांसफ़र करते समय क्रैश हो जाए या बाधित हो जाए तो rsync कैसे व्यवहार करता है?

विचार करें कि मेरे पास सिंक करने के लिए दो फाइलें हैं, aऔर b। प्रतिलिपि rsync करेंगे a, तो स्रोत से इसे हटाने, और कॉपी करने शुरू b, या यह दोनों के लिए इंतजार करेंगे aऔर bउन दोनों को हटाने से पहले गंतव्य मशीन में कॉपी किया जा करने के लिए? मैंने देखा है कि आप कुछ झंडे के साथ बाहरी फ़ाइलों को हटाते समय इस व्यवहार को कॉन्फ़िगर कर सकते हैं, लेकिन स्रोत फ़ाइलों को हटाने के बारे में कोई नहीं मिला।


stackoverflow.com/questions/7380234/… के समान, हालांकि मुझे लगता है कि काइल सही हो सकती है - कभी-कभी ऐसा लगता है कि rsync सभी फ़ाइलों के पूरा होने का इंतजार करती है, लेकिन कभी-कभी यह फ़ाइलों को पूरा होने से पहले हटा देती है। हालांकि थोड़ा उलझन में है।
11:20 बजे क्रिस 2048

जवाबों:


16

Rsync कोड की जाँच से पता चलता है कि स्रोत फ़ाइलों को भेजे जाने के बाद हटा दिया जाता है, हालाँकि यह तुरंत नहीं हो सकता है। rsync इसके संचालन को बढ़ाता है, इसलिए यह संदेश कि एक फ़ाइल को सफलतापूर्वक प्राप्त किया गया था (और इसलिए हटाया जा सकता है) अन्य डेटा के पीछे बफ़र्ड हो सकता है।


2
नीचे दिए गए मेरे जवाब के अनुसार मैंने इसे कुछ फ़ाइलों के साथ आज़माया था, और पूर्ण कार्रवाई सफल होने पर फ़ाइलों को केवल हटा दिया गया था। इससे मुझे लगता है कि आपके द्वारा पाया गया "ट्रांसफर ओके" सिग्नल तभी पूरा हो सकता है जब पूरा ऑपरेशन सफल हो।
डैनियल एंडरसन

5
यदि आप इसे कुछ फ़ाइलों से अधिक के साथ आज़माते हैं, तो आपको संपूर्ण स्थानांतरण से पहले स्रोत फ़ाइलों को गायब होते हुए दिखाई देगा।
काइल जोन्स

ऐसा लगता है कि जब निर्देशिका और पुनरावर्ती विकल्प निर्दिष्ट करते हैं, तो फ़ाइलें तुरंत नहीं हटाई जाती हैं
आंद्रे होल्जनर

4

मैंने यह कोशिश की (और आप आसानी से यह भी कर सकते हैं, सुनिश्चित करने के लिए)। सभी फ़ाइलों को सफलतापूर्वक स्थानांतरित करने के बाद उन्हें हटा दिया जाता है । यदि स्थानांतरण बाधित होता है या कोई अन्य त्रुटि होती है, तो स्रोत फ़ाइलों को हटाया नहीं जाता है, भले ही उनमें से कुछ ठीक हो गईं।

EDIT: काइल जोन्स के जवाब के अनुसार, मामला अलग हो सकता है जब कई फाइलें शामिल होती हैं।

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