rsync não grava no compartilhamento NFS montado

3

Estou tentando executar um simples script rsync do meu servidor CentOS para copiar arquivos e pastas para um compartilhamento NFS montado no meu Synology NAS. O compartilhamento NFS é montado no servidor do CentOS. Eu posso criar arquivos e navegar sem problemas do servidor CentOS. Eu tenho o compartilhamento NFS montado em /mnt/nfs/synology .

O diretório que estou procurando copiar está localizado em ~/resilio-sync/websites . O comando rsync é rsync -avz ~/resilio-sync/websites /mnt/nfs/synology Se eu fizer um dry run, isso me mostrará o que vai ser copiado muito bem.

sending incremental file list
websites/
websites/test.co.uk/
websites/test.co.uk/about.php
websites/test.co.uk/contact.php
websites/test.co.uk/dropbox_backup.sh
websites/test.co.uk/index.php
websites/test.co.uk/mailer.php
sent 6132 bytes  received 973 bytes  14210.00 bytes/sec
total size is 29217828  speedup is 4112.29 (DRY RUN)

Quando eu tento executá-lo de verdade, recebo isso:

sending incremental file list
websites/
rsync: failed to set times on "/mnt/nfs/synology/websites": Operation not permitted (1)
websites/.sync/
rsync: recv_generator: mkdir "/mnt/nfs/synology/websites/.sync" failed: Permission denied (13)
*** Skipping any contents from this failed directory ***
websites/test.co.uk/
rsync: recv_generator: mkdir "/mnt/nfs/synology/websites/test.co.uk" failed: Permission denied (13)
*** Skipping any contents from this failed directory ***

sent 5196 bytes  received 37 bytes  10466.00 bytes/sec
total size is 29217828  speedup is 5583.38
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1052) [sender=3.0.9]

Eu estou supondo que ele está me dizendo que é relacionado a permissão, mas o estranho é que eu posso escrever para os diretórios de origem e destino muito bem se eu não estiver usando o rsync.

Alguma idéia do que estou sentindo falta aqui?

    
por Mason 09.09.2017 / 15:23

1 resposta

5

A saída do erro está dizendo que você não pode gravar no diretório /mnt/nfs/synology/websites (ou seja, você não pode criar diretórios - e possivelmente até mesmo arquivos - dentro dele).

A execução seca funcionou porque na verdade não tentou transferir os arquivos e, portanto, não encontrou o problema de permissão.

Se você estiver usando sudo rsync... , você (quase certamente) descobrirá que sudo mkdir /mnt/nfs/synology/websites/test.co.uk também falha.

Por acaso, você obterá uma transferência muito mais eficiente se ativar o serviço rsync no Synology NAS e usar isso em vez de transferir pelo NFS.

Para iniciantes, esteja ciente de que porque você está usando rsync para copiar de uma parte do sistema de arquivos do host local para outra parte do o que parece o sistema de arquivos do host local, ele não usará seu algoritmo diferencial para transferir apenas alterações ao conteúdo dos arquivos. Em vez disso, ele analisará o tamanho do arquivo e o tempo de modificação e, se eles diferirem, copiará o arquivo na íntegra.

Habilitar o Synology NAS rsync service (ou rsync over ssh , se puder) permitirá que a ferramenta seja executada no modo cliente-servidor, onde poderá verificar e transferir somente alterações em arquivos.

    
por 09.09.2017 / 15:51