สำรองข้อมูลไดเรกทอรีบ้านของคุณด้วย 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-*?
Frank Nocke

คำตอบ:


40

รายการยกเว้นเพียง แต่อาจจะมีชื่อไฟล์ foldernames #และเส้นที่เริ่มต้นด้วย ไม่อนุญาตให้แสดงความคิดเห็นหลังชื่อเล่น ฉันสร้างที่เก็บ Git พร้อมไฟล์และโฟลเดอร์ที่รู้จักทั้งหมดที่ไม่จำเป็น:

ดาวน์โหลดignorelistนี้ไปที่ / 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ในไดเรกทอรีการตั้งค่าของคุณบ้างไหม? ลองนึกภาพคุณต้องการย้ายโฮมไดเร็กตอรี่ของคุณไปยังคอมพิวเตอร์เครื่องใหม่คุณจะต้องเก็บมันไว้
rubo77

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 ฉันขอยืนยันว่าไม่มีรายการของโฟลเดอร์ทั้งหมดที่คุณสามารถยกเว้นได้ นั่นเป็นข้อเสนอแนะและฉันสงสัยว่า Lekenstyn จะพูดว่าเป็นรายการที่สมบูรณ์
muru

รายการไม่ต้องเสร็จฉันเพียงแค่ต้องการสร้างการสำรองข้อมูลของฉันเร็วขึ้นเพื่อข้ามโฟลเดอร์ไร้ประโยชน์ที่เห็นได้ชัด
rubo77

@ rubo77 ฉันคิดว่าคุณจะต้องเปลี่ยนความคิดเห็นเป็นบรรทัดอื่น
muru

ขอบคุณฉันอัปเดตไฟล์ส่วนสำคัญเพื่อให้ความคิดเห็นอยู่ในบรรทัดเดียว
rubo77

0

ลองใช้วิธีนี้หากไดเรกทอรีและไฟล์ภายในเป็นสิ่งที่คุณต้องการสำรอง ไม่รวมไดเรกทอรีที่ซ่อนอยู่ทั้งหมด

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


คุณสามารถระบุ "คำพูดที่หายไป" ที่เฉพาะเจาะจงกว่านี้ได้ไหม?
ศศภท

โอ้ขอโทษ - ฉันพูดสั้น ๆ และพิมพ์ผิดโดยพิมพ์: "คำพูด" แทนที่จะเป็น "คำพูด" ที่หายไป
Volker Siegel

เชลล์สามารถขยายตัว*(อาจไม่อยู่ในตำแหน่งนั้นใช่ไหม) เส้นทางควรจะยกมา - ชื่อผู้ใช้ไม่สามารถมีช่องว่าง แต่/media/อาจเป็น/Old Media/หรือเพื่อ ...
Volker Siegel

ฉันขอโทษที่ฉันไม่ได้รับมัน เครื่องหมาย '. *' จะไม่รวมใด ๆ '.' รูปแบบซึ่งเป็นไดเรกทอรีที่ซ่อนอยู่ที่ไดเรกทอรีบ้าน '/ home / $ USER /' ไปยังปลายทางการสำรองข้อมูล: HDD ภายนอกหรือไดรฟ์ปากกา '/ media / $ USER / โฟลเดอร์' ด้วยการทำเช่นนี้เฉพาะไดเรกทอรีและไฟล์ที่แท้จริงเท่านั้นที่กำลังถูกสำรองข้อมูล หากคุณกำลังชี้อย่างอื่นโปรดอธิบายอย่างละเอียด
ศศภท

4
มันไม่มีเหตุผลที่จะยกเว้นไดเรกทอรีทั้งหมดที่ขึ้นต้นด้วยจุดเช่นไดเรกทอรี Thunderbird เป็นหนึ่งในไดเรกทอรีที่สำคัญที่สุด
rubo77
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.