बैकअप के लिए rsync का उपयोग करना


14

मैं वर्तमान में बाह्य हार्ड ड्राइव A की सामग्री का बैकअप लेता हूं (1) गंतव्य बाहरी हार्ड ड्राइव B में सब कुछ हटा रहा हूं और (2) A से B (खोजक) में सब कुछ कॉपी कर रहा हूं। बाहरी हार्ड ड्राइव में केवल "मूल डेटा" (फ़ोल्डर, चित्र, वीडियो, दस्तावेज़, आदि) शामिल हैं, कुछ भी फैंसी / अजीब नहीं है।

लेकिन वहाँ मौजूद सभी अद्भुत मुफ्त उपकरणों के साथ मैं बैकअप के लिए एक सभ्य नहीं मिला (सुझाव स्वीकार किए जाते हैं)।

मैं इसे स्वचालित करना चाहता हूं। कुछ खोजों के बाद, ऐसा लगता है कि मैं उपयोग कर सकता हूं rsync। मैं चाहता हूं कि rsyncगंतव्य हार्ड ड्राइव पर पहले से मौजूद फ़ाइलों की प्रतिलिपि बनाने से बचने के लिए इसका उपयोग करके इसे स्वचालित करें (बेशक, यदि कोई बदलाव किया गया है, तो मैं फ़ाइल / फ़ोल्डर को अपडेट करना चाहता हूं; हटाए गए फ़ाइलों / फ़ोल्डरों या नई फ़ाइलों के साथ ही; / फ़ोल्डर्स, विचार की नकल करना है जो मैं आमतौर पर खोजक के साथ मैन्युअल रूप से करता हूं)।

मुझे यह बात समझ आ गई

rsync -av --progress --delete /Volumes/A/ /Volumes/B

अब लॉग जो नाम के साथ शुरू होता फाइलों से भरा है .या ._या यहाँ तक कि ._.। क्या वे आवश्यक हैं?

सवाल

मैं केवल उन फ़ाइलों को कैसे कॉपी कर सकता हूं, जो उन सभी को छोड़कर जो पीछे मायने नहीं रखते हैं। उदाहरण के लिए, यदि मेरे पास है तो photo.pngमैं कॉपी करने की अपेक्षा करूंगा photo.png, न कि ._photo.pngकई फाइलों की।

क्या --excludeया --exclude-fromमैक पर सुरक्षित रूप से इस्तेमाल किया जा सकता है? एक अच्छा नियम हो सकता है "बस कुछ भी कॉपी करें जिसे फाइंडर दिखाता है" जो कि मैं सभी फ़ोल्डर्स के माध्यम से मैन्युअल रूप से पारित होने पर कॉपी करूंगा।

 अतिरिक्त प्रश्न

है -av --progress --deleteपर्याप्त? क्या मैं अपराध कर रहा हूं या कुछ डेटा को जोखिम में डाल रहा हूं? आप किन विकल्पों का उपयोग करेंगे।

कृपया, अपने जवाब को कुछ तर्कों के साथ वापस लें, मैं इसकी सराहना करूंगा।

मैं एक ऐसे तरीके की तलाश कर रहा हूं, rsyncजो स्वचालित हो और जो उपयोग करने के लिए काफी शक्तिशाली और मुफ्त हो।


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
bmike

1 पैराग्राफ पर वर्णित रणनीति पर, क्या होता है अगर (1) के बाद - बी में सब कुछ हटाना - ए के लिए एक गंभीर मुद्दा होता है? आप ए और इसके पिछले बैकअप पर डेटा तक पहुंच खो सकते हैं। यदि आपके बैकअप स्टोरेज में पर्याप्त जगह है, तो नए बैकअप को सफलतापूर्वक पूरा करने के बाद ही बैकअप को हटाने के बारे में कैसे?
रिकार्डो

1
@ bmike की बातचीत का लिंक जो चैट में स्थानांतरित हो गया था, टूट गया है।
मर्चको

जवाबों:


17

अधिकतम सुरक्षा के लिए, सब कुछ कॉपी करें

सबसे सुरक्षित विकल्प अदृश्य मेटा डेटा फ़ाइलों सहित, सब कुछ कॉपी करना है।

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

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

OS X संसाधन को अंतिम और प्रतिलिपि बनाएँ

rsyncझंडे के संबंध में , एक बाहरी ड्राइव से दूसरे में बड़े पैमाने पर डेटा की प्रतिलिपि बनाने के लिए सबसे तेज़ और सबसे सुरक्षित तरीके से प्रश्न पर एक नज़र डालें । इस प्रश्न में, कुछ अतिरिक्त झंडों का उपयोग किया गया है और उन्हें समझाया गया है:

sudo rsync -vaE --progress --delete-after /Volumes/SourceName /Volumes/DestinationName

इस स्थिति में, Eवसीयत संसाधन कांटे और अन्य मैक विशिष्ट गुणों की नकल सुनिश्चित करती है।

आप --delete-afterप्रतिलिपि पूरी होने तक हटाने से बचने पर विचार करना चाह सकते हैं ; कृपया ध्यान दें कि इस दृष्टिकोण को स्रोत के आकार से दो बार गंतव्य ड्राइव की आवश्यकता होगी।

संभव बहिष्करण

संबंधित प्रश्न का उत्तर, मैं टाइम मशीन बैकअप से एफएक्सएक्स रेंडर फाइलें कैसे छोड़ सकता हूं? , ओएस एक्स फ़ाइलों और फ़ोल्डरों का एक उपयोगी लिंक प्रदान किया जाता है जिन्हें अधिकांश बैक-अप से बाहर रखा जा सकता है । यह लिंक फ़ाइल पैटर्न, फ़ोल्डर और रास्तों की एक व्यावहारिक सूची प्रदान करता है जिन्हें आप बाहर कर सकते हैं।

डॉट फाइलें शामिल करें

डॉट्स के साथ शुरू होने .*वाली फाइलों का मिलान करने के लिए अच्छे कारण हैं, फाइलों का मिलान।

कुछ सॉफ़्टवेयर वरीयताएँ, सेटिंग्स और अन्य जानकारी को फ़ोल्डर्स में उपयोगकर्ता के फ़ोल्डर के शीर्ष पर अदृश्य डॉट प्रीफ़िक्सड फ़ोल्डर में रखते हैं। रनिंग ls -la ~/इन फ़ोल्डरों और फ़ाइलों को प्रकट करेगा।

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

स्पॉटलाइट और डिस्क एक्सेस

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


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

1
आप भविष्य के पाठकों के लिए एक पूर्ण उदाहरण जोड़ सकते हैं। मुझे दो स्रोत मिले, एक और दो (साथ ही तीसरा जो आपने जोड़ा); मैं उन्हें भविष्य के संदर्भ के लिए यहां छोड़ देता हूं।
मैनुअल '

1
"डॉट्स के साथ शुरू होने वाली फ़ाइलों का बैकअप लेने के अच्छे कारण हैं": हाँ! ये फाइलें छिपी हुई हैं (डमियों के लिए खोजक से) लेकिन ज्यादातर समय ये बहुत महत्वपूर्ण फाइलें होती हैं।
डैन

1
Eऔर --delete-afterमहत्वपूर्ण बिंदुओं जो इस सवाल का जवाब एक जीत एक की कर रहे हैं।
dan

1
@danielAzuelos के रूप में -E, नए संस्करणों में, -Xजो मुझे कुछ स्थानों में अनुशंसित दिखाई देता है, जिनमें से एक सही है? या दोनों? मैं अप टू डेट, छद्म-पूर्ण करना चाहूंगा जो अधिकांश सामान्य चिंताओं को कवर करता है। क्या स्पॉटलाइट फ़ाइलों की प्रतिलिपि बनाना उन्हें उत्पन्न करने की तुलना में आसान और तेज़ होगा? मैं स्पॉटलाइट कैसे रोक सकता हूं ताकि यह इस बीच गड़बड़ न हो? क्या caffeinateआईएनजी प्रक्रिया के बारे में ? या हो सकता है कि यह सिर्फ एक बैकअप सूची है, जिससे इसे स्पॉटलाइट द्वारा अनुक्रमित नहीं किया जा सकता है, बहुत कम चिंताएं, आदि। इस सवाल के कई जवाब सुनिश्चित हैं।
मैनुअल

5

यदि आप rsyncकार्बन कॉपी क्लोनर के अनुसार 3.0.6 संस्करण या होमब्रे के अनुसार 3.1.2 का उपयोग कर रहे हैं , तो आप कार्बन कॉपी क्लोनर से एक क्यू ले सकते हैं:

rsync -A -X -H -p --fileflags --force-change -l -N -rtx --protect-decmpfs --numeric-ids -go --delete-during --backup --backup-dir=</PATH/TO/STICK/BACKUP_when_using_delete> --protect-args <SRC>/ <DEST>


--protect-decmpfs3.1.3 के रूप में अब उपलब्ध नहीं है, github.com/Homebrew/homebrew-core/pull/23415 देखें ।
user74686

4

मैं बैकअप के दौरान मेटा-डेटा प्रूनिंग के खिलाफ सलाह दूंगा , विशेष रूप से डॉट-फाइल्स उदा ._$filename, हालांकि अगर आप वास्तव में डॉट-फाइल को अपने rsyncकमांड ऐड से बाहर करना चाहते हैं --exclude '.*'

rsync -av --exclude '.*' --progress --delete /Volumes/A/ /Volumes/B

यह अच्छा है। मैं नहीं था यकीन है कि को हटाने अगर सभी समस्याग्रस्त होगा डॉट फ़ाइलें (वैसे, वहाँ के बीच कोई अंतर है '.*'और '/.*'?)। मुझे नहीं लगता कि खोजक उन सभी को कॉपी करते हैं, बस कुछ संबद्ध हो सकते हैं। उस मामले में मैं केवल उन लोगों को बाहर करना पसंद करूंगा जो अनावश्यक हैं (जैसे, .DS_Store)। और हाँ, वे जो महत्वपूर्ण हो सकते हैं, लेकिन यह कि मैं अपने लॉग में नहीं आना चाहता हूं मैं नियमित अभिव्यक्ति के साथ फ़िल्टर कर सकता हूं।
मैनुअल

1
खोजक प्रतियां क्या है, यह अनिर्दिष्ट है, और यह बैकअप नीति बनाते समय सभी की समस्या का स्रोत है। यदि आप एक बैकअप चाहते हैं जिसे डिस्क के स्थान पर उपयोग किया जा सकता है, तो आपको सभी फ़ाइलों की एक प्रतिलिपि बनाए रखनी चाहिए A
डैन

@danielAzuelos मुख्य हार्ड ड्राइव A की मृत्यु होने की स्थिति में, ऐसा नहीं है, तो मैं एक तीसरी हार्ड ड्राइव C खरीदूंगा, हार्ड ड्राइव B से हार्ड ड्राइव C पर कॉपी करूंगा और शायद B या C में से एक का उपयोग करना शुरू कर दूंगा। मैं फिर से कहता हूं, कि यह बैकअप की तरह नहीं है कि एक का उपयोग करने की जरूरत है जैसे कि सुपरडुपर क्या करता है। यह सिर्फ इतना है कि मेरी तस्वीरें सिर्फ एक के बजाय दो जगहों पर बेहतर हैं।
मैनुअल

4

मैं वर्तमान उत्तरों से पूरी तरह से प्रसन्न नहीं हूं, लेकिन मैं यहां उन संभावनाओं को थोड़ा सा कवर करने की कोशिश करूंगा जो मैंने वेब पर देखी हैं, जिनके लिए एक अच्छा सेटअप खोजने की कोशिश कर रहा हूं rsync

और, वैसे, अगर किसी को कॉपी मशीन की तरह टाइम मशीन में रुचि है, तो rsnapshot। और वहाँ भी दो तरह से सिंक्रनाइज़ेशन के लिए Unison है । इसके अलावा, बैकअप उपयोगिता और arsync की तरह वास्तव में कुछ GUI हैं ; बिल्कुल नहीं, मैं क्या देख रहा था, लेकिन वे किसी के लिए काम कर सकते हैं।

सबसे पहले, मेरा एकमात्र उद्देश्य फ़ोटो और वीडियो की नकल करना था, इसलिए सटीक प्रतिलिपि की आवश्यकता नहीं थी, इसलिए बहुत अधिक देखभाल की आवश्यकता नहीं थी । वास्तव में मेरे अधिकांश संदेह यह थे कि अगर मैं सब कुछ बाहर कर दूं (वही होगा जो अगर कहेंगे, तो मैंने इंटरनेट से एक तस्वीर डाउनलोड की है, मैं सिर्फ एक .png डाउनलोड करता हूं, बाकी सब डाउनलोड नहीं होता है लेकिन स्वतःपूर्ण है )।

यहां उन विचारों की एक असंरचित सूची है, जिन्हें आप ध्यान में रखना चाहते हैं

  • मैं यह सुनिश्चित करना चाहता हूं कि आपका लैपटॉप सोने नहीं जाए, आप caffeinateइस प्रक्रिया को करना चाहते हैं caffeinate -s rsync -av ...यहां से ले गए ।

  • यदि आप मेरे मामले की तरह, स्थानीय प्रतियां कर रहे हैं, या भले ही इंटरनेट कनेक्शन बहुत धीमा नहीं है, तो आपको विकल्प (संपीड़न) का उपयोग नहीं करना चाहिए -z, और -Wडेल्टा स्थानांतरण के बजाय (संपूर्ण फ़ाइल को स्थानांतरित करना; यह स्थानीय होने पर डिफ़ॉल्ट है) और शायद --inplaceतेजी से स्थानान्तरण करने के लिए उपयोग करें। यहां से ले गए ।

  • आप उपयोग कर सकते हैं --delete-afterइसलिए किसी भी फ़ाइल को पहले स्थानांतरित किया जाएगा, और फिर गंतव्य पर स्थानांतरित किया जाएगा (और मूल को हटा दिया गया है) और स्थानांतरण से पहले या स्थानांतरण के दौरान हटाने से अधिक सुरक्षित है।

  • आप दबाकर स्थानांतरण को रोक सकते हैं ctrl + C, और यह सफाई से बंद हो जाएगा। यहां से ले गए । यह सुपरडुपर के साथ मेरे डर में से एक था!, यदि आपको एक ट्रांसफर को रोकने की आवश्यकता है तो आपको संदेश मिलता है "आप एक अज्ञात राज्य में हार्ड ड्राइव छोड़ देंगे ..."।

  • हाल के संस्करणों में --info=progress2और भी अधिक विवरण जोड़े गए हैं -v

  • वहाँ -P(जो बराबरी --partialऔर --progress) मध्य-हस्तांतरित फ़ाइलों को छोड़ देगा ताकि आप प्रक्रिया को फिर से शुरू करने के दौरान रख सकें (यदि किसी कारण से आप एक बार सिंक्रनाइज़ेशन समाप्त नहीं कर सकते हैं)।

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

  • उन सभी संदर्भों में इस्तेमाल अन्य विकल्पों में शामिल हैं -x(या --one-file-system), -E( --executability), -H( --hard-links), -X( --xattrs), -A( --acls), और --sparse, --hfs-compression, --protect-decmpfs। आप उन्हें देखना चाह सकते हैं।

मेरे लिए, एक मूल कमांड जैसा दिखता है (मैं अधिक विकल्पों का उपयोग कर सकता हूं, लेकिन यह एक उदाहरण के लिए पर्याप्त है):

caffeinate -s rsync -av --delete-after --progress --stats --exclude-from 'excludefile.txt' \
  "/Volumes/SrcHDD/" "/Volumes/DstHDD" # note the trailing slash / after the source

अब मेरे मामले में मैं बस शामिल कर सकता हूं {*.jpg,*.png,*.mp4,*.txt,*.pdf,…}और कोई भी नहीं कहेगा कि "आपको सिस्टम फ़ाइलों की भी आवश्यकता है" लेकिन जब से मैं उन सभी संभावित फ़ाइलप्रकाश को प्राप्त करने के लिए खोज नहीं करना चाहता, जिनके पास मेरे पास है, मैं बाहर करना पसंद करता हूं। और ऐसी चीजें हैं जो न केवल हो सकती हैं बल्कि बाहर करने के लिए सुविधाजनक लगती हैं।

मुझे कुछ लिंक मिले, जो आप चाहते हैं वह लें:

  1. https://bombich.com/kb/ccc4/some-files-and-folders-are-automatically-excluded-from-backup-task

  2. https://gist.github.com/tvwerkhoven/4541989

  3. https://github.com/necolas/dotfiles

  4. https://gist.github.com/shkm/5531679

  5. http://www.hackurmac.com/2014/08/backing-up-and-restoring-your-hackintosh.html

  6. https://github.com/jedda/Counterpart

  7. http://alanwsmith.com/rsync-exclude-list-for-mac-osx

और वहाँ से आपको शायद मिल सकता है जो अनदेखा करने के लिए सुरक्षित या समझदार है। यहाँ पूरी सूची है (मैंने अभी डुप्लिकेट हटा दिया है)

.HFS+ Private Directory Data*
/.journal
/.journal_info_block
.AppleDouble
.AppleDB
/lost+found

.metadata_never_index
.metadata_never_index_unless_rootfs
/.com.apple.timemachine.donotpresent
.VolumeIcon.icns
/System/Library/CoreServices/.disk_label*
/TheVolumeSettingsFolder

.DocumentRevisions-V100*
.Spotlight-V100
/.fseventsd
/.hotfiles.btree
/private/var/db/systemstats

/private/var/db/dyld/dyld_*
/System/Library/Caches/com.apple.bootstamps/*
/System/Library/Caches/com.apple.corestorage/*
/System/Library/Caches/com.apple.kext.caches/*

/.com.apple.NetBootX

/Volumes/*
/dev/*
/automount/*
/Network/*
/.vol/*
/net

/private/var/folders/zz/*
/private/var/vm/*
/private/tmp/*
/cores/*

.Trash
.Trashes

/Backups.backupdb
/.MobileBackups
/.MobileBackups.trash
/.MobileBackups.trash

Library/Mobile Documents.*
.webtmp

/Library/Caches/CrashPlan
/PGPWDE01
/PGPWDE02
/.bzvol
/Library/Application Support/Comodo/AntiVirus/Quarantine
/private/var/spool/qmaster
$Recycle.Bin
Saved Application State
Library/Preferences/ByHost/com.apple.loginwindow*

.AppleDesktop
.com.apple.timemachine.supported
Network Trash Folder
/Library/Caches/*
/private/var/spool/postfix/*
$RECYCLE.BIN
/stuff/*
/afs/*
/private/var/run/*
/Previous Systems.localized
/tmp/*
.dbfseventsd
.DS_Store
.PKInstallSandboxManager
.SymAV*
.symSchedScanLockxz
.TemporaryItems
Desktop DB
Desktop DF
hiberfil.sys
pagefile.sys
Recycled
RECYCLER
System Volume Information
Temporary Items
Thumbs.db
AUTORUN.INF
Autorun.inf
autorun.inf

3

मैंने कई नौकरियों में बैकअप के लिए rsync का उपयोग किया है, और मैं इसे घर पर उपयोग करता हूं।

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

मैंने इस गाइड का उपयोग http://www.mikerubel.org/ कंप्यूटर्स /rsync_snapshots/ जंपिंग-ऑफ पॉइंट के रूप में किया। पूरा पेज पढ़े यह विकल्पों की व्याख्या करने का एक बड़ा काम करता है, और यह बताता है कि आप वृद्धिशील बैकअप कैसे लागू कर सकते हैं। और आश्चर्यजनक रूप से, लेख 10 साल से अधिक पुराना है लेकिन आज भी लागू है। होगा प्यार यूनिक्स।


1
धन्यवाद। किसी भी मामले में मैं विशेष विचारों को कवर करना चाहता था जो कि मैक ओएस एक्स के तहत लेना चाहते हैं। मैं वास्तव में सिर्फ एक गाइड नहीं चाहता था rsync। किसी भी मामले में, अच्छा लिंक, यह का एक बहुत शामिल किया गया है rsyncलेकिन वहाँ है आज के रूप में वास्तव में ऐसा करने के लिए एक उपकरण: rsnapshot
मैनुअल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.