फाइल कॉपी लिनेक्स फिर से शुरू करें


9

मैं लिनक्स में एक बड़ी फाइल की कॉपी कैसे फिर से शुरू कर सकता हूं? मेरे पास एक बड़ी फ़ाइल (सर्वरल गीगाबाईस) है जो आंशिक रूप से एक नेटवर्क ड्राइव में कॉपी की जाती है, और इसमें एक लंबा समय लगता है, और यह ज्यादातर नेटवर्क समस्या के कारण कॉपी ऑपरेशन बंद होने से पहले होता था जो अब ठीक हो गया है। मैं फ़ाइल कॉपी कैसे फिर से शुरू करूं। मुझे एक अयोग्य स्क्रिप्ट नहीं चाहिए, और ecp काम नहीं किया (यह बड़ी फ़ाइलों के लिए काम नहीं करता है)।

जवाबों:


4

मैं कोशिश करूंगा rsync -a /from/file /dest/file


1
और जब हम rsync के बारे में बात कर रहे हैं, तो ध्यान दें कि आप किसी भी दूरस्थ मशीन पर सीधे कॉपी कर सकते हैं [SSH का समर्थन] rsync का उपयोग करके -e ssh / from / file user@dest.ation: / full / dest / path
मिकाज़

2
वाह। बिना किसी विकल्प के rsync चलाने से संपूर्ण चीज़ नष्ट / नष्ट / फ़ाइल हो जाएगी और पुन: प्रदर्शित हो जाएगी। यह मतदान कैसे हुआ?
जस्टिन

1
फ़ाइल विशेषताएँ (-a) को संरक्षित करने में कैसे मदद मिलती है? यह होना चाहिए --append?
माल्वेनियस

3

यदि आप जानते हैं कि आपको बस स्थानीय फ़ाइल में संलग्न होने की आवश्यकता है और rsync (जो संभावित रूप से लंबे समय तक चेकसम की गणना कर सकता है) का उपयोग नहीं करना चाहते हैं, तो आप कर्ल का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आपके पास धीमी रिमूवेबल USB स्टिक पर एक बड़ी फाइल /media/CORSAIR/somefile.datहै, जिसे फिर से चालू किया गया है और फिर से शुरू करने के लिए इसका केवल आधा हिस्सा है।

curl -C - -O "file:///media/CORSAIR/somefile.dat"


टिप के लिए धन्यवाद, मुझे इस टिप का उपयोग करना पड़ा क्योंकि मैं एक विंडोज़ एसएमबी सर्वर (इसलिए कोई rsync) से कॉपी नहीं कर रहा था जब धीमा कनेक्शन खो गया था, और मैं शुरुआत से 500MB डाउनलोड नहीं करना चाहता था।
23

2

हाँ rsync जाने का रास्ता है। मेरे लिए, हमने rsync + ssh पर 100 + GB डेटा स्थानांतरित किया है। यदि आप एक वास्तविक बैकअप कॉपी की तलाश कर रहे हैं, तो सुनिश्चित करें कि आप -aफ़ाइल विशेषताओं (समय, मालिकों, परमिट, आदि) को संरक्षित करने के लिए (संग्रह) विकल्प का उपयोग करते हैं ।

host1> rsync -aP file user@host2:/path/to/new/dir/

यह बड़ी फ़ाइलों की प्रतिलिपि बनाने के लिए भी उपयोगी है जो प्रवास के दौरान बदल सकती हैं। आप गंतव्य तक डेटा को प्री-लोड कर सकते हैं और एक बार अंतिम कॉपी के लिए तैयार हो सकते हैं, इसे फिर से करें लेकिन केवल कुछ समय के लिए। आप पूर्ण क्षमता के लिए rsync का उपयोग करके वास्तविक डाउनटाइम पर बचत कर सकते हैं।

PS प्रयोग v(क्रिया) कई फ़ाइलों के हस्तांतरण को धीमा कर सकता है।


2

आप जो कमांड चाहते हैं वह कुछ इस तरह होने वाला है

rsync -v --append /path/to/afile /mnt/server/dest/afile

जब तक आप ssh पर सर्वर का उपयोग नहीं कर सकते हैं और उस तरह से rsync चला सकते हैं, उस स्थिति में कमांड फ़्लाइंग फ़िश सबसे अच्छा है।


0

यदि आप गंतव्य सर्वर पर rsync है तो rsync केवल अच्छा है। उस मामले में, यह वास्तव में सबसे अच्छा समाधान है।

लेकिन अन्यथा नहीं। चूंकि rsync का बिंदु केवल बड़ी फ़ाइलों में परिवर्तित भागों की प्रतिलिपि बनाना है, इसलिए यह मानता है कि ये परिवर्तित भाग फ़ाइल में कहीं भी हो सकते हैं। इसका मतलब यह है कि यह उन सभी ब्लॉकों को चेकसम करेगा जो पहले ही कॉपी किए जा चुके हैं। यदि आपके पास दूरस्थ छोर पर rsync नहीं है, तो आपका स्थानीय rsync इस प्रकार उन सभी चीजों को वापस पढ़ना शुरू कर देगा जो पहले ही स्थानांतरित हो चुकी हैं।

यदि आपके स्रोत मशीन में एक वेब या एफ़टीपी सर्वर है, तो आप "- कॉन्टिन्यू" विकल्प के साथ गंतव्य सर्वर से wget का उपयोग कर सकते हैं। (या "- कॉन्टिन्यू-एट [- | आकार]" विकल्प के साथ कर्ल करें।

यदि आपकी गंतव्य मशीन में FTP सर्वर है, तो आप श्रोत विकल्प के साथ स्रोत मशीन पर कर्ल का उपयोग कर सकते हैं।

अंतिम उपाय के रूप में, आप dd को "bs =" (ब्लॉक साइज), "स्किप =" और "तलाश =" तर्क के साथ उपयोग कर सकते हैं। उदाहरण के लिए:

मान लेते हैं कि आप 2048 बाइट ब्लॉक का उपयोग कर पाएंगे। यदि आपकी गंतव्य फ़ाइल वर्तमान में 2'048'000'000 बाइट्स (2 GB) है, तो यह 2048 बाइट्स का 1'000'000 ब्लॉक है। अपने स्रोत फ़ाइल के बाकी को गंतव्य पर जोड़ने के लिए, आप कर सकते हैं

dd if = source_file ऑफ = डेस्टिनेशन_फाइल bs = 2048 स्किप = 1000000 सीक = 1000000

आप स्थानांतरण गति को बेहतर बनाने के लिए एक बड़े ब्लॉक आकार का उपयोग करने में सक्षम हो सकते हैं। बस b = के साथ ब्लॉक आकार निर्दिष्ट करने के लिए याद रखें और यह कि स्किप और तलाश करने के लिए दिया गया मूल्य ब्लॉक में है, बाइट्स में नहीं।


आपने rsync के बारे में जो कहा है वह गलत है। आदमी rsync, पढ़ें --append विकल्प क्या करता है।
जस्टिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.