Baru-baru ini saya harus mengubah sistem file Mac saya dari mempertahankan kasus menjadi sepenuhnya case-sensitive. Saya melakukannya dengan menggunakan CCC dan menyalin data ke disk lain, lalu kembali ke disk utama yang baru diformat.
Sekarang, saya ingin melakukan backup Time Machine pada disk Time Machine lama saya, yang di-host di NAS berbasis FreeBSD saya, diekspor melalui AFP. Namun, saya mendapatkan kesalahan yang tidak cocok dengan filesystem, karena Time Machine masih memiliki fs yang tidak case-sensitive. Kali ini, saya tidak bisa menggunakan CCC, karena tidak mendukung salinan level file untuk volume Time Machine.
Secara alami, saya langsung mencari rsync, tapi itu menimbulkan masalah - jika saya jalankan dengan:
/usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/
itu mulai mengeluh begitu hits Backups.backupdb/<machinename>
folder, dengan failed to set permissions, operation not permitted
. Masalahnya di sini adalah menyalin ACL, yang cukup ketat:
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
Jadi, saya menghapus -A
dari perintah di atas, dan rsync sekarang dengan senang hati memindahkan data GB.
Sayangnya, saya ingin melestarikan ACL juga. Apakah itu mungkin? OS X tidak memiliki getfacl / setfacl, dan saya ingin menghindari keluaran parsing ls -le
. Apa yang saya lihat sebagai solusi di sini adalah entah bagaimana memberitahu rsync untuk menerapkan ACL "mundur", yaitu, dari file daun ke direktori, tetapi tidak ada pilihan untuk itu.
Jawaban:
Download rsync version 3 using Homebrew. Then you can try the "--acls" option. The rsync on Mac seems to have a slightly different command line syntax from other operating systems. You probably want to take a look at this link: http://nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/. It describes how to get rsync 3 and the command line arguments he uses.
I'm not an OSX user, but I back up my wife's Mac to a Linux server with rsync.
sumber
rsync, at least in OS X 10.4 and following, will transfer ACL attributes if the -E option is used. See the man page.
sumber