Usando o rsync para sincronizar dois HDDs externos, continue recebendo erro de permissão

0

Estou tentando configurar um script rsync usando o automator para um dos usuários no escritório, mas continuo recebendo um erro. Eu comecei da linha de código mais simples:

 rsync -a /Volumes/DiskA/ /Volumes/DiskB

Mas continuo recebendo este erro:

rsync: opendir "/Volumes/DiskA/.Trashes" failed: Permission denied (13)
rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/main.c(992) [sender=2.6.9]

Eu pesquisei toda a Internet e tentei muitas maneiras / códigos diferentes, mas ainda estou recebendo erros. Eu também tentei uma instalação limpa e formatei os HDDs. Eu estou planejando para adicionar outros comandos que eu recebo este problema corrigido. Eu aprecio muito se você pudesse me ajudar a resolver este problema.

    
por AvaHr 19.10.2016 / 21:48

3 respostas

1

Existem provavelmente dois problemas aqui

  1. Seu script não possui permissões suficientes (privilégios) para acessar os arquivos na Lixeira do diskA. Isso parece ser o OSX, então não posso aconselhá-lo sobre como obter permissões de root; sudo ou su é o que eu usaria em outras plataformas semelhantes a UNIX.

  2. Você provavelmente não deseja copiar a Lash de qualquer maneira. Adicione a opção --exclude '/.Trashes' ao seu rsync para isso.

por 20.10.2016 / 00:28
1

No meu caso, eram regras da ACL em alguns arquivos. Execute getfacl /folder/file para ver as regras estendidas, se houver alguma definida.

No meu caso, alguns arquivos estenderam as regras de permissão, então rsync não pôde lê-los.

    
por 07.09.2017 / 09:34
0

Eu tive o mesmo problema uma vez, acho que você deve escolher com mais cuidado as opções do rsync. A opção -a é igual a -rlptgoD , por isso rsync tenta preservar permissões, proprietário e grupo de seus arquivos de um disco para outro. Por exemplo, para meus backups, uso as opções:

rsync -urtDvx --delete /volume/diskA/ /volume/diskB/

e funciona bem para mim. Essas opções significam:

 -u, --update                skip files that are newer on the receiver
 -r, --recursive             recurse into directories
 -t, --times                 preserve modification times
 -D                          preserve special and device files (super-user only)
 -v, --verbose               increase verbosity
 -x, --one-file-system       don't cross filesystem boundaries
 --delete                    delete extraneous files from dest dirs

Sugiro que você verifique o manual de rsync para descobrir quais são as melhores opções para você.

    
por 19.10.2016 / 23:03