![rsync 跳过传输时间超过 n 分钟的文件](https://linux22.com/image/785831/rsync%20%E8%B7%B3%E8%BF%87%E4%BC%A0%E8%BE%93%E6%97%B6%E9%97%B4%E8%B6%85%E8%BF%87%20n%20%E5%88%86%E9%92%9F%E7%9A%84%E6%96%87%E4%BB%B6.png)
我rsync
在脚本中以 cron 作业的形式运行。有时传输速度会下降,我的大文件(例如超过 1G)需要很长时间才能传输,这会停止我的脚本功能。有没有办法告诉 rsync 在传输时间超过n
几分钟时停止发送文件?
换句话说,我想运行 rsync 命令将一个大文件发送到我的远程机器。如果传输在 n 分钟内成功完成,那就一切顺利。如果没有,我希望 rsync 放弃并继续运行脚本的其余部分。
答案1
我发现这就是timeout
命令的目的。如果要让主命令与终端通信,则需要传递--foreground
switch。
timeout --foreground 300 rsync ./local_file user@server:/remote/file
这将在5分钟后终止rsync。