Rsync无法备份某些文件,出现错误22


9

我正在尝试在'/ nas'的NFS安装卷上使用简单的rsync备份整个服务器

这是我的rsync命令

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

出现以下错误:

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

要么

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

知道为什么吗?我使用'-s'参数来保护文件名

Answers:


10

错误已打开chown。我的猜测:您的目标NFS挂载是不支持的FAT32或NTFS卷chown。您有两个选择:使用ext3之类的Linux文件系统对其进行格式化,或者完全删除权限和所有者(--no-owner --no-grouprsync选项)。


分区是ext3;但是我需要保留所有者/组,这就是为什么我使用“数字ID”选项的原因
Disco 2010年

您的NAS是否运行Linux或其他Unix版本?
wazoox 2010年

当然是Linux……
Disco

1

很长一段时间以来,我一直遇到相同的问题,但没有解决的办法。问题似乎是NFS不允许您将文件的UID / GID更改为服务器上不存在的UID / GID:

# 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

似乎这是NFS的设计缺陷;您不能使用它来备份服务器上不存在的某人所拥有的文件。但是也许有一种方法可以禁用此检查?


在我的NFS服务器上,它对我有用。也许这是在NFS服务器上运行的发行版/操作系统的限制?
wazoox 2015年

0

就我而言,问题出在NFS版本上。使用NFSv4,不允许在服务器端不存在的uid / gid,no_root_squash但是不介意NFSv3(只要使用导出)。因此,当我vers=3/etc/fstabrsync中添加了mount选项后,就可以进行chown了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.