9

Недавно мне пришлось сменить файловую систему моего Mac с сохранения регистра на полностью регистрозависимый. Я сделал это, используя CCC и копируя данные на другой диск, а затем возвращаясь к вновь отформатированному основному диску.

Теперь я хотел сделать резервную копию Time Machine на моем старом диске Time Machine, который размещен на моем NAS-устройстве на базе FreeBSD, экспортированном через 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 успешно перемещает ГБ данных.

Увы, я бы тоже хотел сохранить ACL. Это возможно как-то? OS X не имеет getfacl/setfacl, и я хотел бы избежать разбора вывода ls -le . Здесь я вижу решение как-то сказать rsync применять ACL "назад", то есть от конечных файлов до каталогов, но для этого нет никакой возможности.

2 ответа2

2

Загрузите rsync версии 3, используя Homebrew. Тогда вы можете попробовать опцию "--acls". Похоже, что rsync на Mac имеет немного другой синтаксис командной строки, чем другие операционные системы. Возможно, вы захотите взглянуть на эту ссылку: http://nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/. Он описывает, как получить rsync 3 и аргументы командной строки, которые он использует.

Я не пользователь OSX, но я создаю резервную копию Mac моей жены на сервере Linux с помощью rsync.

1

rsync, по крайней мере в OS X 10.4 и последующих, будет передавать атрибуты ACL, если используется опция -E. Смотрите справочную страницу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .