ใช้ rsync เพื่อสำรองข้อมูล


14

ขณะนี้ฉันสำรองเนื้อหาของฮาร์ดไดรฟ์ภายนอก A โดย (1) ลบทุกอย่างในฮาร์ดไดรฟ์ภายนอกปลายทาง B และ (2) คัดลอกทุกอย่างจาก A ถึง B (ใน Finder) ฮาร์ดไดรฟ์ภายนอกมีเฉพาะ“ ข้อมูลพื้นฐาน” เท่านั้น (โฟลเดอร์รูปภาพวิดีโอเอกสาร ฯลฯ ) ไม่มีอะไรแปลก / แปลก

แต่ด้วยเครื่องมือฟรีที่น่าทึ่งทั้งหมดที่มีอยู่ฉันไม่สามารถหาเครื่องมือสำรองที่เหมาะสมได้ (ยอมรับคำแนะนำ)

ฉันต้องการทำให้เป็นแบบนี้โดยอัตโนมัติ rsyncหลังจากการค้นหาไม่กี่ดูเหมือนว่าฉันจะสามารถใช้ ฉันต้องการทำให้เป็นอัตโนมัติโดยใช้rsyncเพื่อหลีกเลี่ยงการคัดลอกไฟล์ที่มีอยู่ในฮาร์ดไดรฟ์ปลายทาง (แน่นอนถ้ามีการเปลี่ยนแปลงฉันต้องการอัปเดตไฟล์ / โฟลเดอร์เหมือนกันกับไฟล์ / โฟลเดอร์ที่ถูกลบหรือไฟล์ใหม่ / files; ความคิดคือการเลียนแบบสิ่งที่ฉันมักจะทำด้วยตนเองกับ Finder)

ฉันมาถึงจุดนี้

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

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

คำถาม

ฉันจะคัดลอกเฉพาะไฟล์ที่มีความสำคัญได้อย่างไรโดยปล่อยให้ไฟล์ทั้งหมดที่ไม่สำคัญ ตัวอย่างเช่นถ้าฉันมีphoto.pngฉันคาดว่าจะคัดลอกphoto.pngไม่ได้._photo.pngหรือหลายไฟล์

มีอะไร--excludeหรือ--exclude-fromสามารถใช้ได้อย่างปลอดภัยบน Mac? อาจเป็นกฎที่ดีคือ“ เพียงคัดลอกสิ่งที่ Finder แสดง” ซึ่งเป็นสิ่งที่ฉันจะคัดลอกถ้าฉันส่งด้วยตนเองผ่านทุกโฟลเดอร์

 คำถามเพิ่มเติม

คือ-av --progress --deleteพอ? ฉันกำลังก่ออาชญากรรมหรือเสี่ยงต่อข้อมูลบางอย่างหรือไม่? ตัวเลือกใดที่คุณจะใช้

กรุณากลับคำตอบของคุณด้วยข้อโต้แย้งบางอย่างฉันจะขอบคุณมัน

ฉันกำลังมองหาวิธีที่จะทำให้เป็นอัตโนมัติrsyncซึ่งดูเหมือนว่าทรงพลังและใช้งานได้ฟรี


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
bmike

ในกลยุทธ์ที่อธิบายไว้ในย่อหน้าที่ 1 จะเกิดอะไรขึ้นหากหลังจาก (1) - ลบทุกอย่างใน B - ปัญหาร้ายแรงเกิดขึ้นกับ A คุณอาจสูญเสียการเข้าถึงข้อมูลใน A และการสำรองข้อมูลก่อนหน้า หากที่เก็บข้อมูลสำรองของคุณมีพื้นที่เพียงพอแล้วจะลบข้อมูลสำรองได้อย่างไรหลังจากการสำรองข้อมูลที่ใหม่กว่าเสร็จสมบูรณ์
Ricardo

1
ลิงก์ @ @ bmike ไปยังการสนทนาที่ย้ายไปยังการแชทขาดแล้ว
Merchako

คำตอบ:


17

เพื่อความปลอดภัยสูงสุดคัดลอกทุกอย่าง

ปลอดภัยที่สุดตัวเลือกคือการคัดลอกทุกอย่างรวมถึงไฟล์ข้อมูลเมตาที่มองไม่เห็น

ไฟล์มีแนวโน้มที่จะมีเหตุผลและการเปลี่ยนแปลงซอฟต์แวร์ดังนั้นการมีอยู่วัตถุประสงค์และเนื้อหาของไฟล์ meta-data เหล่านี้จะ การทำสำเนาทุกอย่างจะช่วยลดภาระการบำรุงรักษาและให้ความสบายใจว่าจะไม่มีสิ่งใดสูญหาย

ไฟล์บันทึกที่สร้างโดยrsyncจะมีส่วนร่วมทางเทคนิคโดยธรรมชาติของrsyncการเป็นเครื่องมือบรรทัดคำสั่ง พิจารณาการนำเสนอที่เป็นระเบียบเรียบร้อยกรองเมตาดาต้าและอาจมีรหัสสีเอาท์พุทสำหรับผู้ใช้ในการตรวจสอบ คุณสามารถทำได้ด้วยเครื่องมือและภาษาสคริปต์ที่หลากหลาย โปรดถามคำถามเพิ่มเติมได้ที่นี่ในAsk DifferentและStackOverflowหากคุณต้องการความช่วยเหลือเกี่ยวกับวิธีการนี้

ลบล่าสุด & คัดลอกทรัพยากร OS X

เกี่ยวกับrsyncธงให้ดูที่คำถามที่วิธีที่เร็วที่สุดและปลอดภัยที่สุดในการคัดลอกข้อมูลขนาดใหญ่จากไดรฟ์ภายนอกหนึ่งไปยังอีก ในคำถามนี้มีการใช้แฟล็กเพิ่มเติมสองสามและอธิบาย:

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

ในสถานการณ์นี้Eจะทำให้มั่นใจว่าส้อมทรัพยากรและคุณสมบัติเฉพาะของ Mac อื่น ๆ จะถูกคัดลอก

คุณอาจต้องการพิจารณา--delete-afterหลีกเลี่ยงการลบจนกว่าสำเนาจะเสร็จสมบูรณ์ โปรดทราบว่าวิธีการนี้อาจต้องใช้ไดรฟ์ปลายทางสองเท่าของขนาดของแหล่งที่มา

ข้อยกเว้นที่เป็นไปได้

คำตอบของคำถามที่เกี่ยวข้องฉันจะตัดไฟล์ FCPX Render จากการสำรองข้อมูล Time Machine ได้อย่างไร มีลิงก์ที่มีประโยชน์ของไฟล์และโฟลเดอร์ OS X ที่สามารถแยกออกจากการสำรองข้อมูลส่วนใหญ่ได้ ลิงค์นี้ให้รายชื่อรูปแบบไฟล์โฟลเดอร์และพา ธ ที่คุณสามารถยกเว้นได้

รวมถึงไฟล์ดอท

มีเหตุผลที่ดีในการสำรองไฟล์ที่ขึ้นต้นด้วยจุดเป็น.*ไฟล์ที่ตรงกัน

ซอฟต์แวร์บางตัวจะเก็บการตั้งค่าและข้อมูลอื่น ๆ ของค่าไว้ในโฟลเดอร์ที่ด้านบนของโฟลเดอร์ของผู้ใช้ในโฟลเดอร์นำหน้าด้วยจุดที่มองไม่เห็น การทำงานls -la ~/จะเปิดเผยโฟลเดอร์และไฟล์เหล่านี้

หากผู้ใช้รายใดใช้หรือมีซอฟต์แวร์ที่ใช้ซอฟต์แวร์ควบคุมเวอร์ชันต้องแน่ใจว่าได้สำรองไฟล์ดอท ซอฟต์แวร์เช่นการโค่นล้มและคอมไพล์เก็บข้อมูลสำคัญไว้ในโฟลเดอร์ dot โฟลเดอร์ที่ซ่อนอยู่เหล่านี้สามารถกระจัดกระจายไปทั่วระบบไฟล์ของคุณ

สปอตไลท์และการเข้าถึงดิสก์

Spotlight เป็นบริการค้นหาของ OS X Spotlight ใช้mdworkerกระบวนการจัดทำดัชนีและอัปเดตแค็ตตาล็อกการค้นหา หากคุณกังวลเกี่ยวกับความเสียหายของดิสก์ที่อาจเกิดขึ้นหรือการทำสำเนาช้าการปิดใช้งานmdworkerในขณะที่ทำงานrsyncอาจช่วยได้ โดยส่วนตัวฉันปล่อยให้ Spotlight ทำงานในขณะที่ทำการrsyncโอนถ่ายขนาดใหญ่


3
ตัวเลือกที่ปลอดภัยที่สุดคือการคัดลอกทุกอย่างรวมถึงไฟล์เมตาดาต้าที่มองไม่เห็น แต่ลิงค์เดียวกันจาก Carbon Copy Cloner บอกว่ามีไฟล์บางไฟล์ที่สร้างขึ้นโดยอัตโนมัติดังนั้นมันอาจจะเสียหายได้ถ้าคุณคัดลอกrsyncมา
Manuel

1
คุณสามารถเพิ่มตัวอย่างเต็มรูปแบบสำหรับผู้อ่านในอนาคต ฉันพบสองแหล่งหนึ่งและสอง (รวมถึงแหล่งที่สามที่คุณเชื่อมโยง); ฉันปล่อยไว้ที่นี่เพื่ออ้างอิงในอนาคต
มานูเอล

1
"มีเหตุผลที่ดีในการสำรองไฟล์ที่ขึ้นต้นด้วยจุด": ใช่! ไฟล์เหล่านี้ถูกซ่อน (จาก Finder สำหรับหุ่น) แต่ส่วนใหญ่แล้วไฟล์เหล่านี้เป็นไฟล์ที่สำคัญมาก
แดน

1
Eและ--delete-afterเป็นจุดสำคัญที่ทำให้ของคำตอบนี้ชนะหนึ่ง
แดน

1
@danielAzuelos ในฐานะของ-Eในรุ่นที่ใหม่กว่ามี-Xที่ฉันเห็นแนะนำในบางสถานที่ซึ่งสิ่งที่ถูกต้องหรือไม่ หรือทั้งคู่? ฉันต้องการข้อมูลล่าสุดหลอกโดยสมบูรณ์ซึ่งครอบคลุมความกังวลส่วนใหญ่ การคัดลอกไฟล์ Spotlight นั้นง่ายกว่าและเร็วกว่าการสร้างให้หรือไม่ ฉันจะหยุดสปอตไลท์ได้อย่างไรเพื่อไม่ให้ยุ่งเหยิง แล้วcaffeinateกระบวนการนี้ล่ะ? หรืออาจเป็นได้ว่าเป็นเพียงรายการสำรองทำให้ไม่สามารถจัดทำดัชนีโดย Spotlight ไม่ต้องกังวลมาก ฯลฯ มีคำถามคำตอบมากมายที่ตอบอย่างแน่นอน
มานูเอล

5

หากคุณใช้rsyncเวอร์ชัน 3.0.6 ตาม Carbon Copy Cloner หรือ 3.1.2 ตาม Homebrew คุณสามารถรับคิวจากการโต้แย้ง Carbon Copy Cloner:

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-decmpfsไม่สามารถใช้เป็นของ 3.1.3 อีกต่อไปดูgithub.com/Homebrew/homebrew-core/pull/23415
74686

4

ฉันแนะนำให้ตัดข้อมูลเมตาระหว่างการสำรองข้อมูลโดยเฉพาะไฟล์ dotเช่น._$filenameอย่างไรก็ตามถ้าคุณต้องการแยกไฟล์ dotออกจากrsyncคำสั่งของคุณ--exclude '.*'ให้เพิ่มเข้าไป

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

ดีจัง. ผมไม่แน่ใจว่าถ้าเอาทุกจุดไฟล์จะมีปัญหา (โดยวิธีการจะมีความแตกต่างระหว่างการใด ๆ'.*'และ'/.*'?) ฉันไม่คิดว่าตัวค้นหาจะคัดลอกทั้งหมดของพวกเขาอาจเป็นเพียงบางส่วนที่เกี่ยวข้อง ในกรณีนี้ฉันต้องการยกเว้นเฉพาะสิ่งที่ไม่จำเป็นเท่านั้น (เช่น.DS_Store) และใช่สิ่งที่อาจมีความสำคัญ แต่ฉันไม่ต้องการมีในบันทึกของฉันฉันสามารถกรองด้วยการแสดงออกปกติ
Manuel

1
สิ่งที่คัดลอก Finder ไม่มีเอกสารและนี่คือที่มาของปัญหาของทุกคนเมื่อสร้างนโยบายการสำรองข้อมูล คุณควรเก็บสำเนาของไฟล์ทั้งหมดหากคุณต้องการสำรองข้อมูลซึ่งสามารถใช้แทนAดิสก์ได้อย่างแน่นอน
แดน

@danielAzuelos ซึ่งไม่ใช่กรณีในกรณีที่ฮาร์ดไดรฟ์หลัก A ตายจากนั้นฉันจะซื้อฮาร์ดไดรฟ์ C ตัวที่สามคัดลอกจากฮาร์ดไดรฟ์ B ไปยังฮาร์ดไดรฟ์ C และอาจเริ่มใช้หนึ่งใน B หรือ C ฉันพูดอีกครั้ง ว่านี่ไม่ใช่การสำรองข้อมูลที่จำเป็นต้องใช้อย่างที่ SuperDuper ทำ มันเป็นแค่รูปถ่ายของฉันดีกว่าในสองแห่งแทนที่จะเป็นเพียงแห่งเดียว
มานูเอล

4

ฉันไม่พอใจกับคำตอบปัจจุบันทั้งหมด แต่ฉันจะพยายามพูดถึงความเป็นไปได้ที่ฉันได้เห็นบนเว็บที่พยายามค้นหาการตั้งค่าที่ดีสำหรับที่rsyncนี่

และโดยวิธีการที่ถ้าใครสนใจใน Time Machine rsnapshotเช่นสำเนามี และยังมีUnisonสำหรับการซิงค์สองทาง พลัสมีจริงไม่กี่ GUIs เช่นการสำรองข้อมูลยูทิลิตี้และarRsync ; ไม่ใช่สิ่งที่ฉันกำลังมองหา แต่พวกเขาอาจทำงานให้ใครบางคน

ครั้งแรกที่ความตั้งใจของฉันเท่านั้นที่จะทำซ้ำภาพถ่ายและวิดีโอเพื่อให้สำเนาถูกต้องก็ไม่จำเป็นจึงไม่จำเป็นต้องดูแลมากเกินไป ในความเป็นจริงข้อสงสัยของฉันส่วนใหญ่คือถ้าฉันสามารถแยกทุกอย่างได้ (เช่นเดียวกับที่จะเกิดขึ้นถ้าพูดว่าฉันดาวน์โหลดรูปภาพจากอินเทอร์เน็ตฉันเพิ่งดาวน์โหลด. png ทุกอย่างไม่ได้ถูกดาวน์โหลดแต่สร้างอัตโนมัติ )

นี่คือรายการความคิดที่ไม่มีโครงสร้างที่คุณอาจต้องการคำนึงถึง

  • ฉันคุณต้องการให้แน่ใจว่าแล็ปท็อปของคุณไม่ได้ไปนอนคุณอาจต้องการกระบวนการcaffeinate caffeinate -s rsync -av ...ที่นำมาจากที่นี่

  • หากคุณทำสำเนาในเครื่องเช่นในกรณีของฉันหรือแม้ว่าการเชื่อมต่ออินเทอร์เน็ตจะไม่ช้าเกินไปคุณไม่ควรใช้-zตัวเลือก (บีบอัด) และใช้-W(ถ่ายโอนไฟล์ทั้งหมดแทนที่จะถ่ายโอนเดลต้านี่เป็นค่าเริ่มต้นเมื่อท้องถิ่น) และอาจใช้--inplaceเพื่อให้การถ่ายโอนอย่างรวดเร็ว ที่นำมาจากที่นี่

  • คุณสามารถใช้--delete-afterไฟล์ใดก็ตามที่จะถูกโอนก่อนจากนั้นย้ายไปที่ปลายทาง (และลบไฟล์ต้นฉบับ) และปลอดภัยกว่าการลบก่อนการถ่ายโอนหรือระหว่างการถ่ายโอน

  • คุณสามารถหยุดการถ่ายโอนได้โดยการกดctrl + Cและมันจะหยุดอย่างหมดจด ที่นำมาจากที่นี่ นี่เป็นหนึ่งในความกลัวของฉันกับ SuperDuper! ถ้าคุณต้องการหยุดการถ่ายโอนคุณจะได้รับข้อความ“ คุณจะออกจากฮาร์ดไดรฟ์ในสถานะที่ไม่รู้จัก…”

  • ในเวอร์ชันล่าสุดมีการ--info=progress2เพิ่มรายละเอียดให้-vมากขึ้น

  • มี-P(ซึ่งเท่ากับ--partialและ--progress) ที่จะปล่อยไฟล์ที่ถ่ายโอนไว้ตรงกลางเพื่อให้คุณสามารถดำเนินการต่อเมื่อคุณรีสตาร์ทกระบวนการ (ถ้าด้วยเหตุผลบางอย่างคุณไม่สามารถสิ้นสุดการซิงค์ทันที)

  • อาจสนใจหยุด Spotlight หรือ TimeMachine ก่อนทำสำเนาและเปิดใช้งานอีกครั้งหลังจากการถ่ายโอน และแม้กระทั่งปิดการใช้งาน Spotlight สำหรับดิสก์ภายนอก

  • ตัวเลือกอื่น ๆ ที่ใช้ในการอ้างอิงทั้งหมดเหล่านั้นรวมถึง-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/computers/rsync_snapshots/เป็นจุดกระโดด อ่านทั้งหน้า มันเป็นงานที่ยอดเยี่ยมในการอธิบายตัวเลือกและสรุปวิธีที่คุณสามารถใช้การสำรองข้อมูลแบบส่วนเพิ่ม และน่าอัศจรรย์บทความนี้มีอายุมากกว่า 10 ปี แต่ยังคงมีผลบังคับใช้ในปัจจุบัน ต้องรักยูนิกซ์


1
ขอบคุณ ในกรณีใด ๆ ฉันอยากจะครอบคลุมการพิจารณาเป็นพิเศษที่หนึ่งอาจต้องการที่จะใช้ภายใต้ Mac OS X rsyncได้ผมไม่ได้ต้องการเพียงแค่คู่มือของจริงๆ ในกรณีใด ๆ การเชื่อมโยงที่ดีจะครอบคลุมจำนวนมากแต่มีเป็นของวันนี้เครื่องมือในการทำตรงว่า:rsync rsnapshot
มานูเอล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.