यदि आपका इरादा SSH के माध्यम से एक दूरस्थ कंप्यूटर के HDD A को आपके स्थानीय कंप्यूटर के HDD पर एकल फ़ाइल में बैकअप करने का है, तो आप निम्न में से एक कर सकते हैं।
उदाहरण
दूरस्थ कंप्यूटर से चलाएँ
$ dd if=/dev/sda | gzip -1 - | ssh user@local dd of=image.gz
स्थानीय कंप्यूटर से चलाएँ
$ ssh user@remote "dd if=/dev/sda | gzip -1 -" | dd of=image.gz
जीवंत उदाहरण
$ ssh skinner "dd if=/dev/sda5 | gzip -1 -" | dd of=image.gz
208782+0 records in
208782+0 records out
106896384 bytes (107 MB) copied, 22.7608 seconds, 4.7 MB/s
116749+1 records in
116749+1 records out
59775805 bytes (60 MB) copied, 23.9154 s, 2.5 MB/s
$ ll | grep image.gz
-rw-rw-r--. 1 saml saml 59775805 May 31 01:03 image.gz
निगरानी के लिए तरीके?
ssh
किसी अन्य टर्मिनल और ls -l
फ़ाइल के माध्यम से लॉगिन करके देखें कि इसका आकार क्या है।
आप pv
बड़े dd ऑपरेशन की प्रगति की निगरानी के लिए उपयोग कर सकते हैं , उदाहरण के लिए, ऊपर के दूरस्थ उदाहरण के लिए, आप यह कर सकते हैं:
$ dd if=/dev/sda | gzip -1 - | pv | ssh user@local dd of=image.gz
"SIGUSR1" सिग्नल को भेजें dd
और यह आंकड़े प्रिंट करेगा। कुछ इस तरह:
$ pkill -USR1 dd
संदर्भ
निगरानी के लिए ऊपर उल्लिखित तरीके मूल रूप से @Ryan & @bladt और मेरे द्वारा टिप्पणियों के माध्यम से छोड़ दिए गए थे । मैंने उन्हें और अधिक स्पष्ट करने के लिए उत्तर में स्थानांतरित किया है।
ONE
के हार्ड ड्राइव को दूरस्थ कंप्यूटरTWO
के स्टोरेज तक पहुँचाने के लिए), इस तरह: <br /> [root @ ONE] # dd if = / dev / sda1 | ssh रूट @ TWOdd of=/root/Public/ONE/sda1.img
<br /> 409600 में 0 रिकॉर्ड 409600 + 0 रिकॉर्ड 209715200 बाइट्स (210 एमबी) कॉपी किए गए, 0.894929 एस, 234 एमबी / एस स्यूडो-टर्मिनल आवंटित नहीं किया जाएगा क्योंकि ओडिन एक टर्मिनल रूट @ TWO का पासवर्ड नहीं है : समस्या यह है कि/root/Public/ONE/sda1.img
फ़ाइल उम्मीद के मुताबिकONE
नहीं, पर बनाई गई थीTWO
। मैं यह कैसे तय करुं?