ROBOCOPY एक वृद्धिशील बैकअप करने के लिए आदेश


31

मैं ROBOCOPY प्रलेखन से अभिभूत हूं। मैं नेटवर्क ड्राइव (M) के लिए अपनी स्थानीय फ़ाइलों का एक वृद्धिशील बैकअप करना चाहता हूं। मैं चाहता हूं कि यह बिना लॉग फ़ाइल और स्क्रीन पर जितना संभव हो उतना कम पाठ के साथ, जितनी जल्दी हो सके चल सके। मेरी फाइलें सभी एक फ़ोल्डर (MyFolder) के अंदर हैं, जिसमें कई नेस्टेड सबफ़ोल्डर हैं। "वृद्धिशील" से मेरा मतलब है "केवल वही कॉपी करें जो नया या बदला हुआ है।" मैं गंतव्य की किसी भी ऐतिहासिक फ़ाइल को हटाना नहीं चाहता, लेकिन अगर मैंने कोई फ़ाइल बदल दी है तो मैं केवल नया संस्करण चाहता हूं। और अगर मैंने कोई फ़ाइल नहीं बदली है, तो मैं इसे मौजूदा बैक-अप फ़ाइल पर कॉपी नहीं करना चाहता। क्या नीचे सही है? (रनिंग विन 7 एंटरप्राइज।)

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e

कृपया, लूट के लिए कुछ भी सुझाव नहीं है। मुझे कुछ भी स्थापित करने की अनुमति नहीं है। और मुझे सुरक्षा सामान की परवाह नहीं है। मेरे पास इसके लिए लोग हैं (मैं उन्हें चाहता हूं या नहीं)। ;-)


1
उपनिर्देशिका की प्रतिलिपि बनाने के लिए आपको एक / s या e विकल्प की आवश्यकता होती है।
डेविड मार्शल

@DavidMarshall: उफ़। मैं वास्तव में वह जानता था। जोड़ा गया। तो, क्या मैं अब अच्छा हूँ?
dmm

हाँ। मैं कुछ इसी तरह का उपयोग कर रहा हूँ।
डेविड मार्शल

अभी इसका परीक्षण किया जा रहा है। स्क्रीन पर अभी भी सामान लिखा हुआ है। भविष्य के रन में, मैं इससे कैसे छुटकारा पाऊंगा?
dmm

3
एक विकल्प जो एक बड़ा अंतर प्रदर्शन को बुद्धिमान बना सकता है वह है मल्टीथ्रेडेड ट्रांसफर। /MT[:N] मेरे पास एक 4 कोर सीपीयू है इसलिए मैं आमतौर पर अपने थ्रेड्स की संख्या के लिए 8-16 रेज में कुछ का उपयोग करता हूं। मैं प्रति कोर 2-4 धागे लगाता हूं। आपको निश्चित रूप से अपने हार्डवेयर पर विभिन्न मूल्यों के साथ परीक्षण करना चाहिए। जब आपके पास बहुत सारी छोटी फाइलें होती हैं, तो मल्टीथ्रेडेड सबसे अधिक मदद करता है। यदि आपके पास बड़ी संख्या में बड़ी फाइलें हैं, तो यह लगभग उतनी मदद नहीं करेगा।
ज़ॉडेचेस

जवाबों:


40

अब मैं कुछ वर्षों के लिए निम्नलिखित स्क्रिप्ट के एक संस्करण का सफलतापूर्वक उपयोग कर रहा हूं:

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL

पैरामीटर समझाया

  • /MIRविकल्प (के बराबर /E /PURGE) "दर्पण" के लिए खड़ा है और सबसे महत्वपूर्ण विकल्प है। यह आपके स्रोत फ़ोल्डर को "मास्टर" के रूप में मानता है, जिससे यह लक्ष्य पक्ष पर किसी भी परिवर्तन को अधिलेखित कर देता है, जो बैकअप के लिए एक उपयोगी सेटिंग है।

  • /FFTएक बहुत ही महत्वपूर्ण विकल्प है, क्योंकि यह फाइलों के टाइमस्टैम्प की तुलना करते समय 2-सेकंड के अंतर की अनुमति देता है, जैसे कि आपके कंप्यूटर और आपके बैकअप डिवाइस के बीच मामूली अंतर। यह सुनिश्चित करेगा कि केवल संशोधित फ़ाइलों की प्रतिलिपि बनाई गई है, भले ही फ़ाइल संशोधन समय बिल्कुल सिंक्रनाइज़ न हों।

  • /R:3यदि कनेक्शन विफल होना चाहिए, तो रिट्रीट की संख्या निर्दिष्ट करता है, और /W:10रिट्रीट के बीच 10 सेकंड का प्रतीक्षा समय निर्दिष्ट करता है। नेटवर्क पर बैकअप करते समय ये उपयोगी विकल्प हैं।

  • /Z फ़ाइलों को "पुनरारंभ मोड" में कॉपी करता है, इसलिए आंशिक रूप से कॉपी की गई फ़ाइलों को एक रुकावट के बाद जारी रखा जा सकता है।

  • /NPऔर /NDLकुछ डिबग आउटपुट को दबाने, आप अतिरिक्त जोड़ सकते हैं /NS, /NC, /NFLके लिए आगे उत्पादन की मात्रा को कम (देखें प्रलेखन जानकारी के लिए)। हालांकि, मैं पहले रन के दौरान कुछ डिबग आउटपुट प्रिंट करने का सुझाव दूंगा, यह सुनिश्चित करने के लिए कि सब कुछ उम्मीद के मुताबिक काम कर रहा है।

अन्य उपयोगकर्ताओं द्वारा उल्लिखित अतिरिक्त उपयोगी पैरामीटर

  • /XJDनिर्देशिकाओं के लिए "जंक्शन अंक" को छोड़कर, प्रतीकात्मक लिंक जो बैकअप के दौरान अनंत लूप जैसी समस्याओं का कारण हो सकते हैं। देखें ब्रायन की जानकारी के लिए टिप्पणी नहीं।

  • /MT[:N]मल्टीथ्रेडिंग का उपयोग करता है और कई छोटी फ़ाइलों के हस्तांतरण को गति दे सकता है। एन के लिए, कोर की संख्या का 2-4 गुना मूल्य एक सामान्य मशीन पर करना चाहिए। मूल प्रश्न पर Zoredache द्वारा टिप्पणी की गई ।

ग्रेंजर की टिप्पणी के जवाब में संपादित करें:

यदि आप वास्तव में उन फ़ाइलों को रखना चाहते हैं जो गंतव्य पर मौजूद हैं, लेकिन स्रोत की तरफ नहीं, बस /MIRविकल्प को बदलें /E। हालाँकि, मैं दृढ़ता से उपयोग करने का सुझाव दूंगा /MIRजब आप वृद्धिशील बैकअप के लिए गंतव्य का उपयोग करना चाहते हैं। अन्यथा किसी भी फाइल का जो नाम बदल दिया गया है या स्रोत पर ले जाया गया है वह गंतव्य को अव्यवस्थित कर देगा, जिसका अर्थ है कि आपको डुप्लिकेट मिलते हैं। मैं आमतौर पर गंतव्य पर एक सबफ़ोल्डर "बैकअप" बनाता हूं जिसमें मेरे स्रोत फ़ोल्डर पेड़ की 1: 1 प्रति होती है। इस तरह आप अभी भी ऐतिहासिक फ़ाइलों को बैकअप फ़ोल्डर के बगल में रख सकते हैं और बाद में उन्हें सुरक्षित रूप से हटा या पुन: व्यवस्थित कर सकते हैं।


क्या यह आदेश अनुमतियों के साथ फ़ाइलों को कॉपी करने की अनुमति देता है? रोबोकॉपी सी: \ स्रोत एम: \ गंतव्य / एमआईआर / एफएफटी / आर: 3 / डब्ल्यू: 10 / जेड / एनपीएल / एनडीएल
शबीर शेर

4
छोड़कर / MIR (/ PURGE) गंतव्य पर मौजूद फ़ाइलों को हटा देगा जो अब स्रोत पर मौजूद नहीं हैं। स्पष्ट रूप से पूछे गए प्रश्न को कहा गया था जो नहीं चाहता था।
ग्रेंजर

@Shabeer नहीं, डिफ़ॉल्ट रूप से रोबोकॉपी केवल डेटा (D), गुण (A) और टाइमस्टैम्प (T) की प्रतिलिपि बनाता है। अन्य मानों को ACL अनुमतियों के लिए "/ copy: <value>" पैरामीटर, उदा "/ copy: DATS" के साथ निर्दिष्ट करना होगा। लेकिन जब से मैं लिनक्स-आधारित एनएएस की नकल करता हूं, तो यह मेरे लिए बहुत मायने नहीं रखता है।
पैदल यात्रा

1
@ ब्रायन संकेत के लिए धन्यवाद। मुझे जंक्शन पॉइंट्स की कोई समस्या नहीं है, लेकिन मुझे लगता है कि यह सिर्फ मामले में उनसे बचने के लिए चोट नहीं पहुंचाएगा। मेरे जवाब में इसे जोड़ा।
पेडरपेंसन

1
@pederpansen: उपयोगकर्ता फ़ोल्डर की प्रतिलिपि बनाते समय (या संपूर्ण ड्राइव को कॉपी करने पर) ऐसा होता है। आमतौर पर एप्लिकेशन डेटा फ़ोल्डर अपराधी होता है, क्योंकि इसमें एप्लिकेशन संगतता कारणों के लिए जंक्शन बिंदु होता है। यदि आप एक नमूना अनंत मार्ग देखना चाहते हैं, तो कमांड प्रॉम्प्ट से "cd C: \ Users \ [USERFOLDER] \ AppData \ Local \ Application Data \ application data \ application data \" चलाने का प्रयास करें। यह विंडोज 10. पर भी काम करता है
ब्रायन

8

मुझे निम्नलिखित का उपयोग करना पसंद है:

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE

मैं इसे व्यवस्थापक के रूप में चलाता हूं इसलिए बैकअप मोड ( /bविकल्प) उपयोग में फ़ाइलों की प्रतिलिपि बना सकता है।

बैकअप के वृद्धिशील प्रकृति से संबंधित अन्य विकल्प नहीं हैं:

/XD निर्देशिकाओं को बैकअप से बाहर करने के लिए।

/XJD जंक्शन बिंदु ("मेरा संगीत") को बाहर करने के लिए।

/R:0 0 पर विफल प्रयासों पर पुन: प्रयास करने के लिए।

/XA:SH छिपी और सिस्टम फ़ाइलों को छोड़ने के लिए।

अधिक से अधिक लॉगिंग जानकारी को निकालने के लिए, निम्न विकल्पों को जोड़ें /NP /NS /NDL /NFL /NC

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