Rsync non riesce a eseguire il backup di alcuni file, dando l'errore 22


9

Sto cercando di eseguire il backup di tutto il mio server usando un semplice rsync su un volume montato su NFS su '/ nas'

Ecco il mio comando rsync

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

Ottenere il seguente errore:

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

o

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

Qualche idea sul perché? Uso il parametro '-s' per proteggere i nomi dei file

Risposte:


10

L'errore è acceso chown. La mia ipotesi: il tuo mount NFS di destinazione è un volume FAT32 o NTFS che non supporta chown. Hai due opzioni: formattalo con un filesystem Linux come ext3, oppure elimina interamente diritti e proprietari ( --no-owner --no-groupopzioni rsync).


La partizione è ext3; ma devo mantenere il proprietario / gruppo, ecco perché uso l'opzione "ID numerici"
Disco

Il NAS esegue Linux o qualche altro sapore Unix?
Wazoox,

Linux ovviamente ...
Disco

1

Ho avuto lo stesso problema per molto tempo senza alcuna soluzione in vista. Il problema sembra essere che NFS non ti consente di modificare l'UID / GID di un file con quelli che non esistono sul server:

# 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

Sembra che questo sia un po 'un difetto di progettazione in NFS; non è possibile utilizzarlo per eseguire il backup dei file di proprietà di qualcuno che non esiste sul server. Ma forse c'è un modo per disabilitare questo controllo?


Funziona per me, sul mio server NFS. Forse è una limitazione della distro / OS in esecuzione sul server NFS?
Wazoox,

0

Nel mio caso il problema si è rivelato essere la versione NFS. Con NFSv4, uid / gid che non esisteva sul lato server non era consentito, mentre a NFSv3 (fintanto che veniva esportato no_root_squash) non importava. Quindi dopo aver aggiunto vers=3le opzioni di mount in /etc/fstabrsync è stato in grado di chown bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.