วิธีคัดลอกปริมาณ Time Machine ไปยังดิสก์อื่นโดยใช้ rsync ในขณะที่รักษา ACL อยู่


9

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

ตอนนี้ฉันต้องการสำรองข้อมูล Time Machine ลงในดิสก์ Time Machine เครื่องเก่าของฉันซึ่งโฮสต์บน FreeBSD NAS ของฉันซึ่งส่งออกผ่าน AFP อย่างไรก็ตามฉันได้รับข้อผิดพลาดที่ระบบไฟล์ไม่ตรงกันเนื่องจาก Time Machine ยังคงไม่สนใจขนาดตัวอักษร ครั้งนี้ฉันไม่สามารถใช้ CCC ได้เนื่องจากไม่รองรับการคัดลอกระดับไฟล์สำหรับไดรฟ์ข้อมูล Time Machine

ตามธรรมชาติแล้วฉันก็ตรงไปหา rsync แต่นั่นทำให้เกิดปัญหา - ถ้าฉันใช้มันด้วย:

/usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/

ก็จะเริ่มบ่นเร็วที่สุดเท่าที่มันจะกระทบโฟลเดอร์ด้วยBackups.backupdb/<machinename> failed to set permissions, operation not permittedปัญหาที่นี่คือการคัดลอก ACL ที่ค่อนข้าง จำกัด :

 ll -dle /Volumes/Time\ Machine\ Backups/Backups.backupdb/<machinename>/
 drwxr-xr-x@ 19 root  staff  646 Dec 23 09:38 /Volumes/Time Machine Backups/Backups.backupdb/<machinename>/
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown

ดังนั้นฉันจึงลบออก-Aจากคำสั่งด้านบนและตอนนี้ rsync ก็ย้ายข้อมูล GB อย่างมีความสุข

อนิจจาฉันต้องการรักษา ACL เช่นกัน เป็นไปได้ไหม? OS X ไม่ได้มี getfacl / setfacl ls -leและฉันต้องการจะหลีกเลี่ยงการแยกวิเคราะห์การส่งออกของ สิ่งที่ฉันเห็นเป็นวิธีแก้ปัญหาที่นี่คืออย่างใดบอก rsync เพื่อใช้ ACLs "ย้อนกลับ" นั่นคือจากไฟล์ใบไม้ลงไปที่ไดเรกทอรี แต่ไม่มีตัวเลือกสำหรับมัน


rsync บนปลายทางปลายทางทำงานเป็นผู้ใช้ที่ได้รับอนุญาตให้ chmod ไฟล์เหล่านั้นหรือไม่?
harrymc

นี่อาจเป็นคำถามที่ชัดเจน แต่คุณแน่ใจหรือไม่ว่าเปิดใช้งานการสนับสนุน ACL ในโวลุ่มปลายทาง คุณหมายความว่าคุณกำลังคัดลอกไปยัง mac ซึ่งควร แต่ในกรณีนั้นมันควรจะใช้งานได้เว้นแต่ผู้ใช้ที่ปลายนั้นไม่ใช่รหัสผู้ใช้ # เดียวกับไฟล์ต้นฉบับซึ่งในกรณีนี้คุณอาจต้องตั้งค่า หรือเปลี่ยนไปใช้รูท (เห็นได้ชัดว่าไม่ใช่สิ่งที่ดี แต่ดูแลปัญหาการอนุญาตให้ตั้งค่าความเป็นเจ้าของให้ผู้อื่น)
Tom Scogland

นอกจากนี้ควรกำหนดบัญชีผู้ใช้ดังกล่าวสำหรับเป้าหมายมิฉะนั้นจะไม่สามารถกำหนดเจ้าของได้
harrymc

คำตอบ:


3

ดาวน์โหลด rsync เวอร์ชั่น 3 โดยใช้ Homebrew จากนั้นคุณสามารถลองใช้ตัวเลือก "--acls" rsync บน Mac ดูเหมือนว่าจะมีไวยากรณ์บรรทัดคำสั่งแตกต่างกันเล็กน้อยจากระบบปฏิบัติการอื่น คุณอาจต้องการที่จะดูได้ที่ลิงค์นี้: http://nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/ มันอธิบายวิธีรับ rsync 3 และอาร์กิวเมนต์บรรทัดคำสั่งที่เขาใช้

ฉันไม่ใช่ผู้ใช้ OSX แต่สำรองข้อมูล Mac ของภรรยาของฉันไปยังเซิร์ฟเวอร์ Linux ที่มี rsync


2

rsync อย่างน้อยใน OS X 10.4 และต่อไปนี้จะถ่ายโอนแอตทริบิวต์ ACL หากใช้ตัวเลือก -E ดูหน้าคน


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