execute o rsync como root, mas mantenha a propriedade do usuário


36

Eu gostaria de fazer backup de arquivos de usuário de um servidor para outro com o rsync. mas notei que as pastas do usuário mudam para raiz. como posso manter as permissões de usuário com o rsync (executando pela raiz)?


O rsync precisa ser executado como root quando você estiver fazendo uma cópia da unidade e quando estiver copiando o arquivo de volta para a unidade. Se você executar uma das etapas como um usuário com permissão mais baixa, os arquivos raiz serão rebaixados para esse usuário.
Eric Leschinski

Respostas:


46

Use a -abandeira, que inclui, entre outras coisas, as opções -oe -g, que preserva proprietários e grupos. Isso requer que você execute rsynccomo root.

Veja também man rsync.


1
Isso também é possível sem ser raiz? Existe uma opção para armazenar o mapeamento em um arquivo lateral separado?
precisa saber é o seguinte

1
Faltou este comentário. Não, ele não funciona sem ser, rootporque você não tem permissão para alterar o proprietário para mais ninguém do que para o seu próprio usuário. Um arquivo de mapeamento não ajudaria em nada com isso.
Sven

15

A manutenção das permissões é obtida através do modo "arquivamento" -a,. O exemplo comum é -avz:

rsync -avz foo:src/bar/ /data/bar

Isso garante que links simbólicos, dispositivos, atributos, permissões, propriedades etc. sejam preservados na transferência. Além disso, a compactação será usada para reduzir o tamanho das partes de dados da transferência.


5

Se você estiver usando o rsync para backup, eu realmente recomendo o uso do rsnapshot (ele usa o rsync). Ele gira os backups e usa links físicos para que você possa ver as diferenças entre os backups diários (mas as pastas ainda parecem ter o conteúdo completo). Eu uso isso para fazer backup dos servidores Windows e Linux no trabalho. Perfeito para nós!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.