我正在尝试从发生故障的驱动器中复制文件。它还没有失败 :)
基本上它每 30 秒就会断开一次连接。然后 macOS 会自动重新安装它,但 Finder 在复制文件时遇到了问题。
所以我尝试使用rsync -a --progress
,但每次驱动器断开连接时,rsync 都会“继续运行”,并用……我不知道,某种东西填充文件的其余部分。我假设它会写入零,但它会根据写入实际数据hexdump
。无论如何,这不是准确的数据。
我已经能够通过从随机 SD 卡执行 rsync 来重现此行为。如果我在复制 4GB 文件时拔出卡,rsync 只会快速传输并写入完整的 4GB 文件,尽管这毫无意义。
当驱动器断开连接时,如何让 rsync 停止复制幻影数据?
问题在于,2020 年的 macOS 附带了 2006 年版本的 rsync。
答案1
如果目标驱动器断开连接,Rsync 应退出。如果驱动器快速重新连接,您可能需要指定更短的超时时间(以秒为单位)以使此行为正常工作。
就像是rsync -a --progress --timeout 2
相关人物信息:
--timeout=TIMEOUT
This option allows you to set a maximum I/O timeout in seconds. If no data is transferred for the specified time then rsync will exit. The default is 0, which means no timeout.