Controla o usuário e o grupo do rsync no lado do receptor

1

Eu tenho um comando rsync para fazer backup de um diretório de um servidor remoto para um NAS local na minha LAN, montado no meu servidor. Eu estou usando con para invocar o comando

rsync --rsh='ssh -pxxx' -rultxz xxx.xxx.xxx.xxx:/path/to/directory/ /media/mountpoint/directory/

O problema é que os diretórios não estão recebendo permissões permanentes, e isso está atrapalhando com a transferência. Isto é o que acontece: O ponto de montagem tem permissão 777

A primeira pasta criada recebe 744

O RSync falha, pois não pode adicionar mais arquivos e diretórios com

mkdir: Permission denied (13)

As pastas estão sendo criadas localmente com um ID de usuário que não existe no sistema (1028) e um grupo que não existe. Eu estou supondo que estes são da localização remota.

A questão é: Como faço para controlar as permissões de pasta / arquivo criadas no lado de recebimento para que eu possa mapeá-las para um usuário local e definir permissões?

Eu tentei usar o sinalizador -p e

--chmod=u+rwx,g+rwx,o+r 

mas isso não fez diferença alguma.

    
por Martin Nielsen 03.02.2013 / 11:37

1 resposta

1

O problema acabou sendo a própria montagem. O usuário que chamou o RSync por meio do cron não era o proprietário do ponto de montagem e, portanto, não podia alterar as permissões / proprietário dos diretórios. Isso criou a situação em que o usuário criou pastas que não puderam ler.

A solução foi adicionar --super ao comando e incluir o usuário no grupo sudo (e reiniciar)

    
por 04.02.2013 / 08:03