![网络故障:rsync 停止 - ssh 时重新启动](https://linux22.com/image/705132/%E7%BD%91%E7%BB%9C%E6%95%85%E9%9A%9C%EF%BC%9Arsync%20%E5%81%9C%E6%AD%A2%20-%20ssh%20%E6%97%B6%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8.png)
我有这种非常奇怪的行为并且不知道如何调试它:
bash 脚本启动各种目录 (主目录) 的 rsync。使用以下标志:
rsync -a --log-file log/<somefile> \
--exclude-from=exclude.txt \
--progress \
--link-dest="/${loc}/${name}/current" \
"${username}@${ip}:~/" "/${loc}/${name}/${name}_${date}";
然后过了一段时间(大约 5 分钟),rsync 就“停止”了:不再报告任何进展,两台机器都没有在 rsync 进程上花费任何 CPU 时间。但如果我随后简单地 ssh 到另一台主机,ssh $username@$ip
rsync 就会恢复(在我输入密码之前)。
我的假设是,端口 22 上的任何新流量都可能触发网络堆栈来检测丢失的帧或类似情况。有人知道如何诊断这个问题吗?
更新:运行netcat $ip 22
还会继续传输,因此问题不在于 SSH,而可能在于网络的某个地方