Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question
    
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

2 Answers 2

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?

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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