使用 rsync 备份文件:错误 23

mar*_*ria 25 permissions backup clipboard rsync

我正在尝试备份我的 /home 以将所有数据从一台计算机传输到另一台计算机。我想将备份保存在同一台计算机上,然后将其转移到另一台计算机上。出于安全原因,我正在尝试了解它在没有大量数据(新数据)的情况下如何在计算机上工作,以确保我不会删除某些内容而不是复制它。

我在终端运行:

sudo rsync -avz /home/maria /home/guest/backup
Run Code Online (Sandbox Code Playgroud)

结果是:

sent 58797801 bytes  received 23050 bytes  4705668.08 bytes/sec
total size is 100202958  speedup is 1.70
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1060) [sender=3.0.7]
Run Code Online (Sandbox Code Playgroud)

我又试了一次,结果是一样的。我不知道哪些文件没有传输,是什么让整个备份对我毫无用处(我想自动进行备份以免忘记某些事情并丢失它)。

在两台计算机上,我都有相同的系统(Ubuntu 10.04)。Rsync 版本:3.0.7-1ubuntu1。

感谢您的任何提示

arr*_*nge 28

好吧,因为您rsync在详细模式下运行,所以您应该能够在其输出中看到问题所在。通常是权限被拒绝错误。

例如,假设我要备份~/.gvfs文件夹:

$ sudo rsync -av /home/arrange/.gvfs /tmp
[sudo] password for arrange: 
sending incremental file list
rsync: link_stat "/home/arrange/.gvfs" failed: Permission denied (13)

sent 12 bytes  received 12 bytes  48.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1060) [sender=3.0.7]
Run Code Online (Sandbox Code Playgroud)

所以我的建议是列出rsync -av输出并寻找类似的错误。

  • 如果有人运行一个比终端缓冲区大的列表,你可以添加`| grep failed` 到您的 rsync 命令以仅列出产生错误的文件。 (12认同)
  • @devius +1。只是一个提示......我建议获取字符串 "failed:" 。最后的列将只允许收集 rsync 消息,不包括名称/路径中带有“失败”的文件/目录。 (2认同)