通过SSH进行Rsync - 在ssh或rsync中超时?

时间:2012-10-17 16:33:16

标签: ssh timeout rsync

我正在处理一个糟糕的ISP,它在我的脚本运行时随机点重置我的WAN连接。我希望转移能够在重置后继续存在并继续。我手动启动此脚本vs目前使用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 个答案:

答案 0 :(得分:17)

ConnectTimeout仅在SSH尝试与服务器建立连接时适用,它与数据传输期间的超时没有任何关系。因此,您需要使用--timeout选项来执行您想要的操作。

答案 1 :(得分:0)

尝试重新运行rsync。也可以尝试没有ssh选项。作业失败可能是由于丢失了网络连接。我有一个rsync作业在每隔2小时通过cron运行的数据中心之间复制文件,它每天都会失败一次。