अपने होम डायरेक्टरी को rsync से बैकअप लें और बेकार फोल्डर को छोड़ दें


24

आप आसानी से बाहरी हार्डड्राइव पर अपने होम फोल्डर का बैकअप ले सकते हैं

rsync -a --exclude=.cache --progress /home/$USER /media/linuxbackup/home/$USER

मैंने .cache फ़ोल्डर कारण को बाहर रखा है, मुझे लगता है कि जब मुझे इस बैकअप से पुन: स्थापित करना होगा तो मुझे इसकी कभी आवश्यकता नहीं होगी।

मुझे उन सभी फ़ोल्डरों की यह सूची मिली, जिन्हें मैं यहां एक सामान्य बैकअप में शामिल कर सकता हूं:
होम डाइरेक्टरी के बैकअप से क्या फाइलें और निर्देशिकाएं बाहर रखी जा सकती हैं?

मैंने इस उत्तर की एक सूची बनाई जिसमें इस रूप में कुछ कॉमेन्ट शामिल हैं:

#These directories may be excluded:

.gvfs                           # contains mounted file systems?
.local/share/gvfs-metadata
.Private                        # contains the actual encrypted home directory
.dbus                           # session-specific
.cache
.Trash                          # do I need to say more?
.local/share/Trash
.cddb                           # cached info about audio CDs
.aptitude                       # cached packages lists

#Flash-specific:

.adobe                          # Cache for flash, maybe others?
.macromedia   # except for Flash persistence, there is no reason to keep this

#Files:

.xsession-errors            # contains errors from the current graphical session
.recently-used              # recently used files
.recently-used.xbel
.thumbnails

यहाँ जिस्ट में पूरी सूची है

मैं इस सूची को अपने rsync कमांड में कैसे जोड़ सकता हूं?


1
इसके अलावा .Trash, वहाँ भी अक्सर .Trash-1000(वर्तमान Ubuntu-MATE 14 के तहत कम से कम) है, तो के लिए बेहतर निपटान .Trash-*?
फ्रैंक नॉक

जवाबों:


40

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

इस अज्ञानी को / var / tmp / ignorelist पर डाउनलोड करें

wget https://raw.githubusercontent.com/rubo77/rsync-homedir-excludes/master/rsync-homedir-excludes.txt -O /var/tmp/ignorelist

इसके बाद rsync शुरू करें

rsync -aP --exclude-from=/var/tmp/ignorelist /home/$USER/ /media/$USER/linuxbackup/home/

नोट:
आग्नेयास्त्र में फ़ोल्डर्स के साथ शुरुआत में एक खंड होता है, जो कि निर्देशिकाएं होती हैं, शायद बैकअप के लायक नहीं है।


2
आप दो आदेशों को जोड़ सकते हैं, क्योंकि से rsyncपढ़ सकते हैं stdin:wget https://... -O - | rsync -a --progress --exclude-from=- ...
muru

8
अच्छी बात है, लेकिन मुझे लगता है कि rsync शुरू करने से पहले अज्ञानी को देखना सबसे पहले उचित है
rubo77

आश्चर्यजनक रूप node_modulesसे सूची में नहीं है
jchook

क्या आप node_modulesअपनी कुछ निर्देशिका निर्देशिका में नहीं रखना चाहते हैं ? कल्पना कीजिए, आप अपनी होम डाइरेक्टरी को एक नए कंप्यूटर में स्थानांतरित करना चाहते हैं, आपको तब उन्हें रखने की आवश्यकता होगी।
रूबो77

4

से man rsync:

 --exclude-from=FILE     read exclude patterns from FILE
          This option is related to the --exclude option, but it specifies
          a FILE that contains exclude patterns  (one  per  line).   Blank
          lines  in  the  file  and  lines  starting  with  ’;’ or ’#’ are
          ignored.  If FILE is -, the list  will  be  read  from  standard
          input.

इस तरह की एक सूची है, मैंने अपना प्रश्न संपादित किया
rubo77

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

इस सूची को पूरा नहीं करना है मैं बस अपना बैकअप तेजी से बनाना चाहता हूं ताकि स्पष्ट बेकार फ़ोल्डर को छोड़ दें
rubo77

@ rubo77 मुझे लगता है कि आपको टिप्पणियों को विभिन्न लाइनों में स्थानांतरित करना होगा।
मुरु

thx, मैंने gist फाइल को अपडेट किया है ताकि टिप्पणियां सिंगल लाइनों पर हों
rubo77

0

यह कोशिश कर सकता है अगर निर्देशिका और फ़ाइलों के भीतर आप बैकअप लेना चाहते हैं। सभी छिपी निर्देशिकाओं को छोड़कर।

rsync -aP --exclude=.* /home/$USER/ /media/$USER/folder


क्या आप अधिक विशिष्ट "उद्धरण लापता" हो सकते हैं?
अर्थ

ओह, क्षमा करें - मैं टालमटोल कर रहा था, और इसे टाइपो द्वारा गड़बड़ कर दिया था: "उद्धरण" के बजाय "उद्धरण" गायब था।
वोल्कर सीगल

शेल विस्तार कर सकता है *(शायद उस स्थान पर नहीं?)। रास्तों को उद्धृत किया जाना चाहिए - उपयोगकर्ता नाम में स्थान नहीं हो /media/सकता है , लेकिन ऐसा हो सकता है /Old Media/...
वोल्कर सिएगल

मैं माफी चाहता हूं मुझे नहीं मिल रहा है। '*।' को किसी को शामिल नहीं करना है। '' पैटर्न जो घर निर्देशिका में छिपे हुए निर्देशिका '/ home / $ USER /' बैकअप गंतव्य के लिए हैं: बाहरी hdd या पेन ड्राइव '/ मीडिया / $ USER / फ़ोल्डर'। ऐसा करके, केवल वास्तविक निर्देशिकाओं और फ़ाइलों का बैकअप लिया जा रहा है। यदि आप कुछ और इंगित कर रहे हैं, तो कृपया विस्तृत करें।
अर्थ

4
उदाहरण के लिए डॉट के साथ शुरू होने वाली सभी निर्देशिकाओं को बाहर करना वास्तव में समझदारी नहीं है। उदाहरण के लिए .thunderbird निर्देशिका सबसे महत्वपूर्ण निर्देशिकाओं में से एक है
rubo77
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.