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?

  • Have you tried increasing the I/O timeout (with the --timeout=TIMEOUT option), or turning off I/O timeouts entirely (with --timeout=0)? – Steven Monday Mar 18 '12 at 18:17
  • @tx2 - Was your question answered? – Dan Garthwaite Feb 2 '15 at 2:25

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?


One approach would be to have tcpdump

tcpdump port 22 and host <IP>

and strace

strace -f -o xxx -p <PID of the rsync process>

running on both sides. When the timeout occurs, you should be able to see irregular things in at least the output of tcpdump.

With the new information being available then, you should be able to chase down the source of the problem.

In addition, run traceroute or mtr on both machines in order to check if the route/connection between them is healthy.

  • Very useful, especially server-side. – ylluminate Jan 27 '18 at 2:48

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.