2015-11-08 8 views
6

के कई स्तरों पर rsync के साथ फ़ाइल कॉपी करें मुझे अपने local computer से server B पर लगभग 4.2 जीबी फ़ाइलों को स्थानांतरित करने की आवश्यकता है। हालांकि सर्वर बी में ssh करने के लिए, मुझे server A में ssh करने की आवश्यकता है।एसएसएच

वर्तमान में मैं अपने local computer से सर्वर ए और फिर server A से server B पर फ़ाइलों की प्रतिलिपि बना रहा हूं।

तो प्रवाह इस प्रकार है:

rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-A>:~/abc

rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-B>:~/abc

यह धीमी है और प्रतियां 4.2 डेटा के जीबी एक की जगह दो बार!

क्या मैं अपने स्थानीय कंप्यूटर से पर rsync के साथ फ़ाइलों को स्थानांतरित कर सकता हूं?

+0

"4.2 जीबी डेटा प्रतियों की बजाय दो बार प्रतिलिपि बनाता है!" ठीक है, चूंकि आप सर्वर ए के माध्यम से रूटिंग कर रहे हैं, इसलिए आप हमेशा सर्वर से सर्वर बी तक एक बार "दो बार" डेटा स्थानांतरित कर रहे होंगे, एक बार सर्वर ए से सर्वर बी तक (चाहे वे एक साथ हो सकते हैं)। यह सिर्फ रूटिंग की प्रकृति है। – 4ae1e1

उत्तर

6

आप हमेशा प्रॉक्सी कमांड के साथ ssh का उपयोग कर सकते हैं, जो आपको फ़ाइलों को पारदर्शी रूप से स्थानांतरित करने की अनुमति देता है। इस config (~/.ssh/config) का उपयोग करना:

Host <server-A> 
    User <user-A> 

Host <server-B> 
    User <user-B> 
    ProxyCommand ssh <server-A> -W %h:%p 

आप अपने rsync कॉल कर सकते हैं:

rsync -avz --del ~/Desktop/abc/ <server-B>:~/abc 

डेटा केवल हो जाएगा बीच मेजबान से अधिक "कराई"।