Como copiar o volume do Time Machine para outro disco usando o rsync, preservando as ACLs?

9

Recentemente eu tive que mudar o sistema de arquivos do meu Mac de preservação de maiúsculas e minúsculas para maiúsculas e minúsculas. Eu fiz isso usando CCC e copiando dados para outro disco, em seguida, retornando ao disco principal recém-formatado.

Agora, eu queria fazer o backup do Time Machine no meu antigo disco do Time Machine, que está hospedado no meu NAS baseado no FreeBSD, exportado através do AFP. No entanto, estou recebendo um erro que os sistemas de arquivos não correspondem, pois o Time Machine ainda possui fs que não diferenciam maiúsculas de minúsculas. Desta vez, não posso usar o CCC, pois ele não suporta cópia em nível de arquivo para volumes do Time Machine.

Naturalmente, fui direto para o rsync, mas isso levanta um problema - se eu executar com:

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

começa a reclamar assim que atinge a pasta Backups.backupdb/<machinename> , com failed to set permissions, operation not permitted . O problema aqui é copiar as ACLs, que são bastante restritivas:

 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

Então, eu removi -A do comando acima, e agora o rsync está movendo alegremente GB de dados.

Também gostaria de preservar as ACLs. Isso é possível de alguma forma? O OS X não possui getfacl / setfacl e gostaria de evitar a análise da saída de ls -le . O que eu vejo como uma solução aqui é de alguma forma dizer ao rsync para aplicar as ACLs "de trás para frente", isto é, de arquivos de folhas para diretórios, mas não há nenhuma opção para isso.

    
por Nikola Knezevic 19.02.2013 / 23:42

2 respostas

2

Faça o download do rsync versão 3 usando o Homebrew. Então você pode tentar a opção "--acls". O rsync no Mac parece ter uma sintaxe de linha de comando ligeiramente diferente de outros sistemas operacionais. Você provavelmente vai querer dar uma olhada neste link: link . Ele descreve como obter o rsync 3 e os argumentos da linha de comando que ele usa.

Eu não sou usuário do OSX, mas faço backup do Mac da minha esposa em um servidor Linux com rsync.

    
por 11.03.2014 / 01:03
1

O rsync, pelo menos no OS X 10.4 e seguintes, transferirá os atributos da ACL se a opção -E for usada. Veja a man page.

    
por 13.05.2015 / 21:18

Tags