rsync 跳过传输时间超过 n 分钟的文件

rsync 跳过传输时间超过 n 分钟的文件

rsync在脚本中以 cron 作业的形式运行。有时传输速度会下降,我的大文件(例如超过 1G)需要很长时间才能传输,这会停止我的脚本功能。有没有办法告诉 rsync 在传输时间超过n几分钟时停止发送文件?

换句话说,我想运行 rsync 命令将一个大文件发送到我的远程机器。如果传输在 n 分钟内成功完成,那就一切顺利。如果没有,我希望 rsync 放弃并继续运行脚本的其余部分。

答案1

我发现这就是timeout命令的目的。如果要让主命令与终端通信,则需要传递--foregroundswitch。

timeout --foreground 300 rsync ./local_file user@server:/remote/file

这将在5分钟后终止rsync。

相关内容