Rsync fails to backup some files, giving error 22
I'm trying to backup my whole server using a simple rsync on a NFS mounted volume on '/nas'
Here's my rsync command
rsync -sav -S --stats -H --numeric-ids --delete -D
--exclude-from="/usr/local/bin/rsync_nas1_exclude" / /nas1/
Getting the following error :
rsync: chown "/nas1/home/8003/.local/share/icons/application-x-wine-extension-its.png"
failed: Invalid argument (22)
or
rsync: chown "/nas1/home/8003/.local/share/applications/wine/Programs/FxPro - Trader" failed: Invalid argument (22)
Any idea why ? I use the '-s' param to protect file names
The error is on chown
. My guess : your target NFS mount is a FAT32 or NTFS volume that doesn't support chown
. You have two options : format it with a Linux filesystem like ext3, or drop rights and owners entirely ( --no-owner --no-group
rsync options).
I've been having the same problem for a long time with no solution in sight. The issue seems to be that NFS won't let you change a file's UID/GID to ones that don't exist on the 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
It seems this is a bit of a design flaw in NFS; you can't use it to back up files owned by someone who doesn't exist on the server. But maybe there's a way to disable this check?