Ostatnio musiałem zmienić system plików komputera Mac z przechowywania wielkich i małych liter na pełne. Zrobiłem to, używając CCC i kopiując dane na inny dysk, a następnie wracając na nowo sformatowany dysk główny.
Teraz chciałem wykonać kopię zapasową Time Machine na starym dysku Time Machine, który jest hostowany na moim serwerze NAS opartym na FreeBSD, eksportowanym przez AFP. Jednak pojawia się błąd, że systemy plików nie pasują do siebie, ponieważ Time Machine nadal ma fs bez rozróżniania wielkości liter. Tym razem nie mogę użyć CCC, ponieważ nie obsługuje kopiowania na poziomie plików dla woluminów Time Machine.
Oczywiście poszedłem prosto na rsync, ale to rodzi problem - jeśli uruchomię to z:
/usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/
zaczyna narzekać, gdy tylko trafi do Backups.backupdb/<machinename>
folderu failed to set permissions, operation not permitted
. Problem polega na kopiowaniu list ACL, które są dość restrykcyjne:
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
Usunąłem więc -A
powyższe polecenie, a rsync z radością przenosi teraz GB danych.
Niestety, chciałbym również zachować listy ACL. Czy to w jakiś sposób jest możliwe? OS X nie ma getfacl / setfacl i chciałbym uniknąć parsowania danych wyjściowych ls -le
. To, co widzę jako rozwiązanie, to jakoś powiedzieć rsync, aby stosowało listy ACL „wstecz”, to znaczy od plików liści do katalogów, ale nie ma na to opcji.
Odpowiedzi:
Pobierz rsync w wersji 3 za pomocą Homebrew. Następnie możesz wypróbować opcję „--acls”. Rsync na Macu wydaje się mieć nieco inną składnię wiersza poleceń niż inne systemy operacyjne. Prawdopodobnie chcesz rzucić okiem na ten link: http://nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/ . Opisuje jak zdobyć rsync 3 i argumenty wiersza poleceń, których używa.
Nie jestem użytkownikiem OSX, ale wykonuję kopię zapasową komputera Mac mojej żony na serwerze Linux za pomocą rsync.
źródło
rsync, przynajmniej w OS X 10.4 i nowszych, przeniesie atrybuty ACL, jeśli użyto opcji -E. Zobacz stronę manuala.
źródło
Apple mówi obecnie, aby użyć Findera do kopiowania kopii zapasowych Time Machine.
https://support.apple.com/en-gb/HT202380
źródło