Rsync 错误 23:将文件从 Windows 驱动器复制到外部 HDD 时,某些文件未传输

Rsync 错误 23:将文件从 Windows 驱动器复制到外部 HDD 时,某些文件未传输

我想使用 rsync 将文件从 Windows 驱动器复制到外部 HDD,使用以下命令:

rsync -azv --progress --exclude-from '/home/mint/exclude.txt' '/media/mint/OS/' '/media/mint/external_hdd/C_drive_backup/'

exclude.txt有 Windows、Program Files 和 ProgramData 文件夹,因为我不需要它们。所以我启动了上面给出的命令并进入睡眠状态。当我醒来时,我得到的是:

sent 169,748,362,821 bytes  received 3,982,112 bytes  16,898,347.01 bytes/sec
total size is 193,085,110,161  speedup is 1.14
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]  

那么我应该担心某些东西没有被复制吗?如果我使用该命令du -hs /media/mint/OS/* | sort -h并计算应该获得的总大小,则约为 187 GB(与 rsync 以字节到千兆字节为单位的输出相比:169,748,362,821-> ~158GB. 193,085,110,161-> ~179GB.)

我可以查看哪些文件/文件夹没有被复制吗?如果向上滚动,我可以看到最后 200 行,所有这些都已 100% 完成。

我应该再次复制文件吗?或者有没有办法比较外部硬盘和 Windows 驱动器上的文件?

答案1

如果您尚未保存 的整个输出rsync,则查找未复制内容的唯一方法是运行另一次遍历进行比较。您不妨再次运行 rsync:它的重点不是传输已经传输的内容。不要传递-v参数,这样你就不会被无聊的输出压垮。

rsync -aq … 2>rsync.err

(您可以使用rsync -anq …比较而不传输,但如果您刚刚制作了副本,它不会再次复制任何内容,因此-n在这种情况下没有任何区别。)

答案2

如果源或目标均未更改,则可以选择rsync使用交换机再次运行-n,以查看在不复制数据的情况下将传输哪些内容。添加-q将抑制常规输出,仅显示无法传输的文件。

rsync -azvqn --exclude-from '/home/mint/exclude.txt' '/media/mint/OS/' '/media/mint/external_hdd/C_drive_backup/'

答案3

当我遇到完全相同的错误时(将文件夹从远程 ubuntu 服务器复制到本地 ubuntu 电脑时),我可以通过将源位置更改为根目录(使其不那么深)轻松解决此问题。

如果这还不能解决问题,下一步就是选择尽可能浅的目标位置。

相关内容