rsync-恢复中断的传输(rsync 的想法)

rsync-恢复中断的传输(rsync 的想法)

我有远程站点,它们从传感器 (ARM Debian) 收集数据,并且每 15 分钟传输一组数据 (大约 1.1 MB) (服务器是完整的 Debian)。其中一个站点的 GSM 接收效果很差,标准 scp 传输经常中断,必须从头开始。

现在我正在尝试 rsync。在站点上我调用了:

rsync --partial --remove-source-files --progress --rsh=ssh -z FILE root@SERVER:/DIR/

几分钟后,文件出现在服务器上。(是否可以在接收服务器上看到当前的传输状态 - 传输完成时文件出现?)

传输中断后如何恢复?如果文件没有被删除,传输就没有完成?

答案1

如果传输未完成,Rsync 将以非零退出代码退出。如果您正在使用bash或类似的 shell,一个简单的解决方案是像这样运行它:

until rsync --partial --etc
do
    sleep 1
    echo trying again
done

这将无限期地重新运行,rsync直到成功为止。块内的命令do...done只是示例。您可以在那里放置其他内容。

相关内容