Linux – RSync over SSH hangs and fails with timeout

linuxrsyncssh

Client: Gentoo, GCC 4.3.4, RSync 3.0.9
Server: Ubuntu 10.04.4 LTS, RSync 3.0.7

Client and server connectet through is Internet, about 2Mbps. Ping is ok.

RSync called on any files in any direction hangs on random file, then, after timeout, fails with:

[sender] io timeout after 30 seconds -- exiting
rsync error: timeout in data send/receive (code 30) at io.c(140) [sender=3.0.9]
[sender] _exit_cleanup(code=30, file=io.c, line=140): about to call exit(30)

In 1/10 trys is pass correctly.

I've tryed to add SSH options TcpRcvBufPoll=yes, KeepAlive=yes; disable and enable rsync compression — no changes.

How can i make rsync works properly?

Best Answer

First I would try turning up verbosity of the ssh transport:

rsync -av -e "ssh -vv" /src user@host/dest

Second, it might be hanging on a file or filesystem on the remote side. Can you ssh into the remote and attempt to tar up the same targets?