जवाबों:
एक शब्द rsync
:।
ध्यान दें कि यदि आप एक धीमी लिंक पर हैं, या सर्वर भारी लोड के अधीन है, तो कॉपी करने के लिए उपयोग किया जाने वाला उपकरण अड़चन नहीं होगा, और किसी भी तरह से कॉपी करने का तरीका धीमा होगा।
इससे आपको अपने स्थानीय कंप्यूटर और दूरस्थ सर्वर: http://oreilly.com/pub/h/38 के बीच कॉपी करने का मूल उपयोग मिल सकता है
स्थानीय कंप्यूटर से दूरस्थ सर्वर पर कॉपी करने के लिए (आपको पथ, उपयोगकर्ता नाम और होस्ट पता, निश्चित रूप से प्रतिस्थापित करने की आवश्यकता है):
rsync -avz -e ssh /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
-a
पुरालेख-v
वाचाल-z
संकुचित करें-e ssh
"SSH सुरंग का उपयोग करें"दूसरी दिशा में कॉपी करने के लिए, पथ स्विच (पहला है से , दूसरे स्थान पर है करने के लिए ):
rsync -avz -e ssh remoteuser@remotehost.somewhere.example.com:/path/on/server /path/on/local/computer
लेकिन rsync एक ही सर्वर पर चीजों को कॉपी करने के लिए भी उपयोगी है:
rsync -av /path-to/copy/from /path_to/copy/to
-z
लैन कॉपी या एक मशीन के भीतर कॉपी करने के लिए उपयोग न करें ; -z
इंटरनेट पर प्रतिलिपि के साथ और उसके बिना परीक्षण (एक या दूसरे तेज हो सकते हैं, कई चीजों पर निर्भर करता है)।
-e ssh
अब दूरस्थ होस्ट के लिए डिफ़ॉल्ट है, इसलिए विकल्प को स्पष्ट रूप से पास करना आवश्यक नहीं है।
एक और शब्द: scp
scp /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
एक-शॉट सौदों के लिए, एसपीपी आसान है। यदि यह बहुत सारी फाइलें हैं, तो rsync एक अच्छा विचार है। यदि एक कनेक्शन गिरा दिया गया है, तो rsync उठा सकता है जहां इसे छोड़ा गया था।
मुझे पता था कि rsync में संपीड़न ( -z
) था, और बस सीखा है कि scp भी करता है ( -C
)।
आपके सेटअप में, rsync संभवतः पर्याप्त है ... लेकिन एक उदाहरण के रूप में, यदि कई छोटी फाइलें हैं, तो यह तेजी से फ़ाइलों को ट्रांसफर करने से पहले rsync के माध्यम से हो सकता है। ऐसा इसलिए है क्योंकि स्वामी, टाइमस्टैम्प को स्थानांतरित करना, फ़ाइल फ़ाइल से छोटा होने पर अनुमतियाँ फ़ाइल से कुछ अधिक भारी होती हैं। टार एक फ़ाइल में सभी जानकारी को मर्ज कर देगा और rsync बड़ा ब्लॉक कॉपी करेगा।
या इससे भी बेहतर, अगर कोई सुरक्षा की आवश्यकता नहीं है, तो टार और एनसी का उपयोग करें:
गंतव्य पर, एक प्राप्त डेमॉन, अनकम्प्रेस्ड और अनटार तैयार करें:
nc -l -p 12345 | pigz -d | tar xvf -
स्रोत पर, सब कुछ टार करें, समानांतर संपीड़ित करें और इसे गंतव्य पर भेजें:
tar cvf - ./ | pigz | nc host 12345
-z
स्थानीय नकल के लिए विकल्प छोड़ दिया क्योंकि यह अनावश्यक ओवरहेड जोड़ता है। IMHO, आपको-z
धीमी नेटवर्क लिंक पर rsync का उपयोग करते समय ही उपयोग करना चाहिए । यदि 100Base-T से अधिक मात्रा में डेटा की प्रतिलिपि बनाई जाए, तो आप बिना ठीक हो सकते हैं-z
। एक तेज़ नेटवर्क कनेक्शन के साथ, संपीड़न का उपयोग करके आपके CPU को पेग किया जा सकता है और अन्य प्रक्रियाओं को भूखा रखा जा सकता है।