कैसे एक डायरेक्टरी को gzip करें, एक कमांड में scp और decompress के माध्यम से ट्रांसफर करें?


11

मैं अक्सर बड़ी निर्देशिकाओं को हस्तांतरित करता हूं scpऔर यह मीठा होगा यदि मैं किसी तरह निर्देशिका को संपीड़ित कर सकता हूं, इसे भेज सकता हूं, और इसे सभी में एक कर सकता हूं।

क्या ऐसा कुछ संभव है?

जवाबों:


29

कैसे संपीड़न के लिए सक्षम विकल्प के rsyncबजाय का उपयोग करने के बारे में -z?

rsync -az --progress source_dir/* remote_host:/destination_dir

इसका अतिरिक्त लाभ यह भी है कि यदि फ़ाइल पहले से मौजूद है और गंतव्य पर परिवर्तित नहीं हुई है, तो उसे स्थानांतरित नहीं किया जाएगा।


7

@ Johnshen64 के जवाब की बदौलत, मैं कुछ अच्छा कर पाई

tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination

दुर्भाग्य से, यह प्रगति नहीं दिखाता है क्योंकि यह स्थानान्तरण करता है। मैंने इस पद्धति का उपयोग करते हुए अविश्वसनीय गति में सुधार देखा है।

अगर किसी को इस तरह से स्थानांतरण के लिए प्रगति दिखाने का तरीका पता है, तो मैं मदद की बहुत सराहना करूंगा :)


1
टार और ssh केpv बीच डालें ।
user1686

यदि आपके पास rsync उपलब्ध नहीं है तो यह बहुत अच्छा है
साइमन हार्टेकर

2

ठीक है, मैं इसके बजाय टार का उपयोग करेगा

टार cf - निर्देशिका | ssh सर्वर 'टार xf -'

आप सत्यापित करने के लिए v जोड़ सकते हैं।

ज़िप समान होना चाहिए, लेकिन मेरी राय में linux के लिए टार अधिक मजबूत है।


आपकी मदद के लिए +1 धन्यवाद; यह मुझे वहाँ आधा रास्ता मिल गया। मैं एक ऐसे समाधान के साथ आने में सक्षम था जो गूढ़ -चरित्र का उपयोग नहीं करता है, गज़िप संपीड़न का भी उपयोग करता है और एक गंतव्य निर्देशिका को लक्षित करने की अनुमति देता है।
मेस्क

@macek: ध्यान दें कि f -अन्य ऑपरेटिंग सिस्टम की आवश्यकता हो सकती है, क्योंकि अधिकांश टार संस्करण अन्यथा टेप ड्राइव से पढ़ने की कोशिश करेंगे। डिफ़ॉल्ट रूप से स्टड से पढ़ना जीएनयू-विशिष्ट है।
user1686
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.