我正在运行 Xubuntu 并尝试使用 rsync 将我的文件系统备份到 NFS 共享,命令如下:
rsync -vSHPhhaX --numeric-ids --delete --exclude-from=/home/rena/.scripts/exclude-list / /home/rena/video/.backup/>/home/rena/video/.backup.log
(/home/rena/video
是 NFS 共享。底层文件系统是 ext3。)此调用不起作用,因为服务器具有与本地系统不同的用户 ID 和组 ID,并且 NFS 不允许我将文件的 UID/GID 更改为服务器上不存在的 UID/GID。
由于找不到任何方法来禁用或绕过该限制,我尝试使用选项--fake-super
,以另一种方式存储属性。这也不起作用,我也不知道为什么——只是出现了许多这样的消息:
rsync: delete of stat xattr failed for "/home/rena/video/.backup/bin/bzless": Operation not supported (95)
rsync: failed to write xattr user.rsync.%stat for "/home/rena/video/.backup/bin/fusermount": Operation not supported (95)
NFS4 不支持扩展属性吗?似乎备份到 NFS 共享的唯一方法是两台计算机上的用户和组 ID 相同?
答案1
由于这个小问题似乎无法避免,您可能需要考虑其他选择……例如,既然您正在使用 rsync,请尝试将其用作接收端的服务器。毕竟,这是它的预期用途。如需任何帮助,您可以查看此网站http://a1979shakedown.wordpress.com/2009/01/19/set-up-an-rsync-server-in-ubuntu-for-file-syncing-between-machines/; 或者作为另一种选择,您可以尝试使用 sshfs 而不是 nfs 进行跨网络传输。仅有几个选项。
答案2
我不明白你为什么会遇到这个问题。你有两个选择:
- 保留文件的所有权。因此,您可以使用
-a
和等选项-o
。您可以查看手册了解更多详细信息。 - 不保留所有权。因此,请取消
rsync
root 这样的选项。新所有者将是 root。
在保存所有者信息时,rsync 可以通过存储名称(默认)或 ID(使用选项--numeric-ids
)来实现。如果要保留所有者,在另一台机器上拥有相同的用户应该是正常的。