通过SSH进行Rsync - SSH或Rsync中的超时?

18

我正在处理一个糟糕的ISP,当我的脚本正在运行时,在随机时间重置我的WAN连接。我希望传输能够在此重置后继续进行。目前我手动启动这个脚本而不是使用cron / launchd。

我有一个相当基本的脚本如下:

rsync -rltv --progress --partial -e "ssh -i <key> -o ConnectTimeout=300" <remotedir> <localdir>

我最好将超时设置放在rsync部分吗?

例如:

rsync -rltv --progress--partial --timeout=300 -e "ssh -i <key>" <remotedir> <localdir>

谢谢!

2个回答

17

ConnectTimeout 只适用于 SSH 尝试与服务器建立连接时,它与数据传输期间的超时无关。因此,您需要使用 --timeout 选项来实现您想要的功能。


0
尝试重新运行rsync。还可以尝试不使用ssh选项。任务失败可能是因为失去了网络连接。我有一个每2小时通过cron在数据中心之间复制文件的rsync任务,大约每天会失败一次。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接