Rsync falha ao fazer backup de alguns arquivos, dando o erro 22


9

Estou tentando fazer backup de todo o servidor usando um simples rsync em um volume montado em NFS em '/ nas'

Aqui está o meu comando rsync

rsync -sav -S --stats -H --numeric-ids --delete -D 
--exclude-from="/usr/local/bin/rsync_nas1_exclude" / /nas1/

Obtendo o seguinte erro:

rsync: chown "/nas1/home/8003/.local/share/icons/application-x-wine-extension-its.png" 
failed: Invalid argument (22)

ou

rsync: chown "/nas1/home/8003/.local/share/applications/wine/Programs/FxPro - Trader"     failed: Invalid argument (22)

Alguma idéia do porquê? Eu uso o parâmetro '-s' para proteger nomes de arquivos

Respostas:


10

O erro está ativado chown. Meu palpite: sua montagem NFS de destino é um volume FAT32 ou NTFS que não suporta chown. Você tem duas opções: formate-o com um sistema de arquivos Linux como ext3 ou descarte direitos e proprietários inteiramente ( --no-owner --no-groupopções rsync).


A partição é ext3; mas eu preciso manter o proprietário / grupo e é por isso que eu uso a opção 'numeric-ids'
Disco

Seu NAS está executando Linux ou algum outro sabor Unix?
Whaox

Linux claro ...
Disco

1

Eu tenho o mesmo problema há muito tempo, sem solução à vista. O problema parece ser que o NFS não permitirá que você altere o UID / GID de um arquivo por outro que não exista no servidor:

# for a local file, it works fine:
rena@akira:~ $ sudo chown -v 999:999 testfile 
changed ownership of `testfile' to 999:999

# but if the file is on an NFS share, it fails:
rena@akira:/mnt/yuki $ sudo chown -v 999:999 testfile
chown: changing ownership of `testfile': Invalid argument
failed to change ownership of `testfile' to 999:999

Parece que isso é uma falha de design no NFS; você não pode usá-lo para fazer backup de arquivos pertencentes a alguém que não existe no servidor. Mas talvez haja uma maneira de desativar essa verificação?


Funciona para mim, no meu servidor NFS. Talvez seja uma limitação da distribuição / SO em execução no servidor NFS?
Wazoox 10/05

0

No meu caso, o problema acabou sendo a versão do NFS. Com o NFSv4, o uid / gid que não existia no lado do servidor não era permitido, enquanto o NFSv3 (desde que foi exportado no_root_squash) não se importava. Então, depois que eu adicionei vers=3às opções de montagem no /etc/fstabrsync, consegui mostrar bem.

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.