我有这种非常奇怪的行为并且不知道如何调试它:
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,而可能在于网络的某个地方