इन उपकरणों के बीच प्रमुख अंतर यह है कि वे फ़ाइलों की प्रतिलिपि कैसे बनाते हैं।
scp
मूल रूप से स्रोत फ़ाइल पढ़ता है और इसे गंतव्य पर लिखता है। यह स्थानीय स्तर पर, या किसी नेटवर्क पर एक सादा रेखीय प्रतिलिपि बनाता है।
rsync
फ़ाइलों को स्थानीय रूप से या किसी नेटवर्क पर भी कॉपी करता है। लेकिन यह ऑपरेशन को बहुत तेज करने के लिए एक विशेष डेल्टा ट्रांसफर एल्गोरिदम और कुछ अनुकूलन का इस्तेमाल करता है। कॉल पर विचार करें।
rsync A host:B
rsync
फ़ाइलों के आकार और A और B दोनों के संशोधन टाइमस्टैम्प की जाँच करेगा , और यदि वे मेल खाते हैं तो आगे की प्रक्रिया को छोड़ देंगे ।
यदि गंतव्य फ़ाइल B पहले से मौजूद है, तो डेल्टा ट्रांसफर एल्गोरिथ्म सुनिश्चित करेगा कि केवल A और B के बीच अंतर तार के ऊपर भेजा जाए।
rsync
एक अस्थायी फ़ाइल T के लिए डेटा लिखेंगे , और उसके बाद गंतव्य फ़ाइल B को T से बदलकर B को उपयोग करने वाली प्रक्रियाओं को "परमाणु" के रूप में अपडेट किया जाएगा ।
उनके बीच एक और अंतर है आह्वान। rsync
कमांड लाइन विकल्पों की अधिकता है, जिससे उपयोगकर्ता अपने व्यवहार को ठीक कर सकता है। यह जटिल फिल्टर नियमों का समर्थन करता है, बैच मोड में चलता है, डेमॉन मोड, आदि scp
में केवल कुछ स्विच हैं।
सारांश में, scp
अपने दिन से दिन के कार्यों के लिए उपयोग करें। आपके इंटरेक्टिव शेल पर एक समय में एक बार टाइप करने वाले कमांड। यह उपयोग करने के लिए सरल है, और उन मामलों में rsync
अनुकूलन बहुत मदद नहीं करेगा।
आवर्ती कार्यों के लिए, जैसे cron
नौकरी, उपयोग rsync
। जैसा कि उल्लेख किया गया है, कई आक्रमणों पर यह पहले से ही स्थानांतरित किए गए डेटा का लाभ उठाएगा, बहुत तेज़ी से प्रदर्शन करेगा और संसाधनों पर बचत करेगा। यह एक नेटवर्क पर दो निर्देशिकाओं को सिंक्रनाइज़ रखने के लिए एक उत्कृष्ट उपकरण है।
इसके अलावा, बड़ी फ़ाइलों के साथ काम करते समय, विकल्प के rsync
साथ उपयोग करें -P
। यदि स्थानांतरण बाधित हो जाता है, तो आप इसे फिर से शुरू कर सकते हैं जहां यह कमांड को फिर से जारी करके बंद कर दिया गया है। सिड क्षत्रिय के देखें जवाब ।