I have this very weird behavior and no clue how to debug this:

A bash script starts rsync for various directories (home dirs). These flags are used:

rsync -a --log-file log/<somefile> \
  --exclude-from=exclude.txt \
  --progress \
  --link-dest="/${loc}/${name}/current" \
  "${username}@${ip}:~/" "/${loc}/${name}/${name}_${date}";

Then after some time (5 minutes or so) rsync just 'halts': no progress is reported anymore and both machines do not spend any CPU time on the rsync processes. But if I then simply ssh to the other host ssh $username@$ip rsync resumes (before I enter the password).

My assumption is that any new traffic on port 22 might trigger the network stack to detect a missed frame or something like that. Does someone know how to diagnose this issue?

Update: running netcat $ip 22 also continues the transfer, so the problem is not with SSH but probably somewhere in the network

  • If you manually transfer 10 minutes worth of files with sftp, do you experience the same thing? i.e. put * from some dir. – Aaron May 30 '17 at 12:46
  • Would you be able to provide some packet captures? – Mark Riddell May 31 '17 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.