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

use*_*479 9 backup rsync

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

rsync -azv --progress --exclude-from '/home/mint/exclude.txt' '/media/mint/OS/' '/media/mint/external_hdd/C_drive_backup/'
Run Code Online (Sandbox Code Playgroud)

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]  
Run Code Online (Sandbox Code Playgroud)

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

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

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

Gil*_*il' 5

如果您还没有从 保存整个输出rsync,那么找到未复制内容的唯一方法是运行另一次遍历进行比较。您不妨再次运行 rsync:它的全部意义在于不传输已经传输的内容。不要传递-v参数,以免被无聊的输出淹没。

rsync -aq … 2>rsync.err
Run Code Online (Sandbox Code Playgroud)

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