backup – rsync和–fake-super – 如何保存属性?

前端之家收集整理的这篇文章主要介绍了backup – rsync和–fake-super – 如何保存属性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试整理备份,以便在还原文件时正确还原所有者/组和任何其他元数据.对于我的测试,我已经通过ssh从Ubuntu 9.10服务器(安装了rsync版本3.0.6,协议版本30)备份到OSX 10.6笔记本电脑或Ubuntu 9.10服务器.

使用以下命令(以root身份执行)完成备份:

# rsync -avz --fake-super /var/www/myfolder backupuser@remoteserver.com:/home/backups

执行此操作时不会报告任何错误.

然后我使用以下内容获取我的测试目录:

# rsync -avz --fake-super backupuser@remoteserver.com:/home/backups/myfolder /tmp

并为每个文件报告错误

rsync: Failed to write xattr user.rsync.%stat for "/tmp/myfolder/path/to/file": Operation not supported (95)

最初我认为这一定是因为我正在备份到OSX,所以我再次尝试备份到ubuntu服务器 – 只是在恢复文件时遇到同样的错误.我已经谷歌搜索并查看了rsync的联机帮助页,但没有找到任何帮助.

我的本地ubuntu服务器使用ext3,远程ubuntu服务器ext4,而Mac有HFS

解决方法

你至少做了一件事.

首先,你在连接的错误一侧使用–fake-super.让我引用rsync手册页.

The –fake-super option only affects
the side where the option is used. To
affect the remote side of a
remote-shell connection,specify an
rsync path:

rsync -av –rsync-path=”rsync –fake-super” /src/ host:/dest/

你正在做的是运行–fake-super在你已经root的连接一侧.

关于“未能写入xattr user.rsync.%stat for”的部分是因为与–fake-super一起使用的文件系统尚未使用标志user_xattr挂载.此挂载选项必须在您正在使用的连接一侧生效–fake-super,在您的原因中将是“remoteserver.com”.

总而言之,这些是您应该运行的命令:

# rsync -avz --rsync-path="rsync --fake-super" /var/www/myfolder backupuser@remoteserver.com:/home/backups
# rsync -avz --rsync-path="rsync --fake-super" backupuser@remoteserver.com:/home/backups/myfolder /tmp

…使用mount选项user_xattr在remoteserver.com上生效

猜你在找的Linux相关文章