Pet*_*erB 5 backup rsync backup-restoration
我一直在尝试整理我的备份,以便在恢复文件时正确恢复所有者/组和任何其他元数据。对于我的测试,我一直通过 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
Run Code Online (Sandbox Code Playgroud)
执行此操作时不会报告任何错误。
然后我使用以下命令取回我的测试目录:
# rsync -avz --fake-super backupuser@remoteserver.com:/home/backups/myfolder /tmp
Run Code Online (Sandbox Code Playgroud)
对于每个文件,它都会报告错误:
rsync: failed to write xattr user.rsync.%stat for "/tmp/myfolder/path/to/file": Operation not supported (95)
Run Code Online (Sandbox Code Playgroud)
最初我认为这一定是因为我正在备份到 OSX,所以我再次尝试备份到 Ubuntu 服务器 - 只是在恢复文件时出现相同的错误。我用谷歌搜索并查看了 rsync 的联机帮助页,但没有找到任何帮助。
我的本地Ubuntu服务器使用ext3,远程Ubuntu服务器ext4,Mac有HFS
and*_*dol 15
你至少做错了一件事。
首先,您在连接的错误一侧使用 --fake-super 。让我引用 rsync 手册页。
--fake-super 选项仅影响使用该选项的一侧。要影响远程外壳连接的远程端,请指定 rsync 路径:
rsync -av --rsync-path="rsync --fake-super" /src/ 主机:/dest/
您正在做的是在您已经是 root 的连接一侧运行 --fake-super 。
关于“无法写入 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
Run Code Online (Sandbox Code Playgroud)
...安装选项 user_xattr 在 remoteserver.com 上生效
归档时间: |
|
查看次数: |
13658 次 |
最近记录: |