在多次超时情况下使用“rsync”的任何问题

在多次超时情况下使用“rsync”的任何问题

我有两台机器AB位于同一个低带宽网络上。A想要B尽快复制文件,但可能会在几秒钟后超时t如果传输过程超时,最多可以重新启动 3 次。平均文件大小约为 50MB,差异相当大(有些文件接近 1GB)。

我目前正在使用scp压缩-C选项,即使t=300我超时了。该过程最多会重试 3 次,但通常每次都会超时,因为scp每次都必须重新开始。不幸的是,由于某些应用程序逻辑,增加过去t=300不是一个选择。

我正在考虑使用flagrsync来代替-P从手册页来看,这似乎会导致rsync将先前尝试的进度保留在临时文件中,并将其增量传输算法应用于上次的部分结果。在这种情况下你会推荐rsync普通的scp还是有更快的替代方案?我知道默认情况下rsync使用它scp来复制文件,但我不认为它scp具有部分进度功能(我希望这一点是错的)。

答案1

首先要做的事情是:rsync不用于scp复制文件。 (不过,它可以用作ssh交通工具;也许这就是让您感到困惑的地方?)

如果你有这样的命令:

scp -pr /source/path/* remotehost:/destination/

您可以将其一对一替换为:

rsync -a /source/path/* remotehost:/destination/

在这个特定的实例中,我会像这样优化*源路径,并包含标志--partial --progress --verbose以提高可重新启动性(并查看发生了什么)。请注意,我保留/了源代码;这很重要rsync

rsync -avP /source/path/ remotehost:/destination/

您可以通过包含该标志来了解如果不这样做会发生什么--dry-run

相关内容