एक दूरस्थ सर्वर से एक 30GB टार फ़ाइल को दूसरे स्थान पर स्थानांतरित करें - डिस्क स्थान द्वारा नियंत्रित


8

मेरे पास एक 38GB "Moodle" टार फाइल है जिसे मुझे पुराने सर्वर (साझा होस्टिंग) से स्थानांतरित करने की आवश्यकता है, जिसे हम नए सर्वर (समर्पित वर्चुअल), या "सर्वर बी" को "सर्वर ए" कह सकते हैं। अगर मैं मदद करता है कि मैं Mediatemple के साथ हूँ।

मैंने पहले ही डायरेक्टरी को तार-तार कर दिया है और SSH के माध्यम से इसे सर्वर B में ट्रांसफर करने के लिए wget का उपयोग किया है, हालाँकि - यह 100GB पैकेज है और मैं 96% डिस्क क्षमता पर हूँ - जिसका अर्थ है कि मैं सर्वर B पर फाइल को अनटार नहीं कर सकता हूँ! क्या कोई तरीका है जो मैं सर्वर ए से सर्वर बी तक इस विशाल फ़ाइल को स्थानांतरित कर सकता हूं, अनुमतियों को संरक्षित कर सकता हूं और कम से कम संभव मौका फ़ाइल भ्रष्टाचार के साथ हो सकता है, जो मुझे डिस्क सीमा को हिट नहीं करेगा?

जबकि मैंने अभी तक ऐसा करते हुए काफी समय बिताया है, मैं अपनी मूल योजना को छोड़ने के लिए तैयार रहूंगा यदि कोई बेहतर विचार दे सकता है - और मैं बहुत आभारी रहूंगा!

जवाबों:


21

टार मत करो। rsync -avफ़ाइलों को स्थानांतरित करते समय अनुमतियों को संरक्षित करने के लिए उपयोग करें । हालांकि टार की तरह, यह सेलिनक्स संदर्भ को संरक्षित नहीं करता है। ऐसा नहीं है कि मैं उस महत्वपूर्ण पर विचार करूंगा।


1
हाय डेनिस, उत्तर के लिए धन्यवाद। मुझे नहीं लगता कि आप rsync कमांड का उपयोग करने के बारे में थोड़ा विस्तार से बता सकते हैं? या एक उपयोगी लेख प्रदान करें? धन्यवाद फिर से
— एलेक्सबास

1
एक उपयोगी लेख होगा rsync मैनपेज :) लेकिन संक्षेप में: यदि आपके पास सर्वर से सर्वर तक पहुंच है, तो सर्वर पर इसे चलाएं:rsync -av servera:/path/to/files/to/copy/ /path/to/copy/to
— डेनिस करसेमेकर

1
यदि आप सुनिश्चित नहीं हैं कि आप जिस OS का उपयोग कर रहे हैं, उस पर मूलभूत आदेशों का उपयोग कैसे करें, तो सहायता सुविधा के साथ शुरू करें। यूनिक्स मशीनों पर, कि अक्सर की तरह कुछ है man rsyncयाrsync --help
— mfinni

1
-aतात्पर्य -r(और बहुत से झंडे लोग भूल गए जब तक -aकि "इन बैकअप बनाने के लिए उपयोगी झंडे" के रूप में नहीं जोड़ा गया)
— डेनिस करसेमेकर

1
यदि सुरक्षा कोई समस्या नहीं है (मेरा मतलब है कि आप दो मशीनों के बीच नेटवर्क पर भरोसा करते हैं) एनसी भी एक विकल्प है। सर्वर पर: tar -zc स्रोत | nc -l 1313 क्लाइंट पर: nc SERVER_IP 1313 | tar -zx
— Tsvetomir Dimitrov

12

आप शायद अधिक डिस्क स्थान खरीदना चाहते हैं, लेकिन यह मानते हुए कि आप नहीं कर सकते ...

टारबॉल को डाउनलोड करने के बजाय चारों ओर पाइप करें।

newserver#  ssh olduser@oldserver "cat /path/to/tarball" | tar xf -

या यदि आपके पास अपने पुराने सर्वर तक SSH नहीं है

newserver# wget -O - http://oldserver/path/to/tarball | tar xf -

या डेनिस ने कहा rsync का उपयोग करें ।

रचनात्मक बनो। ऐसे अन्य उपाय हैं जिनका मैं उल्लेख नहीं कर रहा हूं।


--numeric-ownerमालिक और समूह नहीं बदलेंगे, यह सुनिश्चित करने के लिए आपको टारबॉल बनाने से पहले विकल्प का उपयोग करना पड़ सकता है । ssh ouser@oserver tar -zcplC /src_path --numeric-owner . | tar -zxpC /dst_path
— एफ। हौरी

--numeric-ownerयदि यूआईडी / जीआईडी ​​योजना दो मशीनों के बीच भिन्न होती है, तो F.auri के (संभावित गंभीर) अनपेक्षित परिणाम हो सकते हैं। यह आमतौर पर आंतरिक वातावरण में एक मुद्दा नहीं है, लेकिन "साझा होस्टिंग" से "समर्पित आभासी" में जाने से यह समस्या हो सकती है। आप नए सर्वर पर ठीक स्वामित्व करने के लिए करता है, तो का उपयोग कर की उम्मीद करनी चाहिए tar, cpioऔर संभवतः भी rsync।
— voretaq7

हां, आप सही हैं लेकिन, इस तरह के विकल्प के बारे में नहीं जानना (एक ही) सीमा प्रभाव भी हो सकता है। सभी के सर्वश्रेष्ठ: जानते हैं कि आप क्या कर रहे हैं और ... rtfm ;-)
— F.

... कुछ दिलचस्प तरीके (फिल्टर) का उपयोग करने (या नहीं) के लिए रचनात्मक होना : ncया openssl, sed, gpg, uuencodeऔर mail,, (देखभाल के साथ) enscript+ lpr+ [एवियन वाहक] ( fr.wikipedia.org/wiki/IP_over_Avian_Carriers ) + scan+ ocr। .. लेकिन और भी हैं ...
— एफ। होरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.