स्थानीय कंप्यूटर पर SSH पर टार / gz का उपयोग करके एक निर्देशिका को संपीड़ित करें?


15

मैं एक रिमोट मशीन पर एक निर्देशिका को अनिवार्य रूप से टार / gz करना चाहूंगा और फ़ाइल को मेरे स्थानीय मशीन से बिना किसी रिमोट के मेरे स्थानीय मशीन में सहेजने के लिए फ़ाइल को सहेजना चाहूंगा। क्या SSH के ऊपर ऐसा करने का कोई तरीका है? टार फ़ाइल को केवल स्थानीय मशीन पर रिमोट मशीन पर संग्रहीत करने की आवश्यकता नहीं है। क्या यह संभव है?

जवाबों:


26

आप इसे एक ssh कमांड से कर सकते हैं, बस tarइसके मानक आउटपुट पर आर्काइव बनाने के लिए कहें :

ssh remote.example.com 'cd /path/to/directory && tar -cf - foo | gzip -9' >foo.tgz

एक और दृष्टिकोण, जो अधिक सुविधाजनक है यदि आप दूसरी मशीन पर बहुत सारे फ़ाइल हेरफेर करना चाहते हैं, लेकिन एक-शॉट संग्रह निर्माण के लिए ओवरकिल है, तो SSHFS ( FUSE फाइल सिस्टम) के साथ रिमोट मशीन के फाइल सिस्टम को माउंट करना है । आपको एसएसएच स्तर पर संपीड़न सक्षम करना चाहिए।

mkdir ~/net/remote.example.com
sshfs -C remote.example.com:/ ~/net/remote.example.com
tar -czf foo.tgz -C ~/net/remote.example.com/path/to/directory foo

3
मैं बस उत्सुक हूँ, क्यों आप की सिफारिश tar -cf - foo | gzip -9के बजाय tar -czf - fooया tar -cz foo?
पैट्रिक

@ पैट्रिक थोड़ा अधिक पोर्टेबल, जैसे यह सोलारिस पर काम करेगा।
गिलेस एसओ- बुराई को रोकना '

क्या आप सभी तर्कों का वर्णन करने के लिए इतने दयालु होंगे?
रूटिकल वी।

3
@RooticalV। फ़ाइल से मानक आउटपुट पर tar -cf - foo( -c) संग्रह बनाता है । सर्वोत्तम (सबसे धीमी) संपीड़न विधि का उपयोग करता है। यदि आप परवाह नहीं करते हैं, तो आप बस उपयोग कर सकते हैं । -f -foogzip -9ssh remote.example.com tar cz /path/to/directory/foo > foo.tar.gz
arekolek

-1

किसी निर्देशिका या फ़ाइल को केवल परिवहन के लिए संपीड़ित करके कॉपी करने का एक सरल तरीका:

$ ssh domain.net 'ls foo'
file1   file2

$ ssh domain.net 'tar czf - foo' | tar xz

$ ls foo
file1   file2

1
यह tarस्थानीय मशीन पर संग्रह को संग्रहीत नहीं करता है , जो कि इरादा था।
Kusalananda

1
यह इस सवाल पर उतरने वाले लोगों के लिए है (मेरे जैसे) जब एसएसएच के माध्यम से संपीड़न के साथ कुछ कॉपी करने की खोज की जाती है। tar xzसरल और अधिक पठनीय उदाहरण के साथ पाइप के बाहर यह अतिरिक्त है।
पियरे डे LESPINAY
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.