Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have several windows machines that are using deltacopy and rysyc to back up via ssh to an ubuntu machine. Half of the backups will run, the other half will not. Here's an example of one of the errors. Even with a manual run the backups do not execute:

rsync: read error: Connection reset by peer (104) rsync error: 
error in rsync protocol data stream (code 12) at 
/home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/io.c(791) 
[sender=3.0.4] Generic error occurredRsync.exe returned an error. 
Will try again. 
share|improve this question
    
1. See /var/log/messages for messages (more /var/log/messages | grep rsync) –  Rinzwind Jan 31 '13 at 15:28

1 Answer 1

This error tells you that the local rsync was trying to talk to the remote rsync, but the connection to that rsync is now gone.

If the remote rsync is a daemon, your first step should be to look at the daemon's log file to see if it logged an error explaining why it aborted the transfer. Also double-check to ensure that the log file is setup right, as a wrong "log file" setting in your rsyncd.conf file can also cause this problem.

There are several common causes for a remote rsync process going away:

  • The destination disk is full (remember that you need at least the size of the largest file that needs to be updated available in free disk space for the transfer to succeed).
  • An idle connection caused a router or remote-shell server to close the connection.
  • A network error caused the connection to be dropped.
  • The remote rsync executable wasn't found.
  • Your remote-shell setup isn't working right or isn't "clean" (i.e. it is sending spurious text to rsync).

If you can't figure out why the failure happened, there are steps you can take to debug the situation. One way is to create a shell script on the remote system such as this one named "rsync-debug" (This is a Linux script and you probably need a windows equivalent). You would use the script like this:

rsync -av --rsync-path=/some/path/rsync-debug HOST:SOURCE DEST
rsync -av --rsync-path=/some/path/rsync-debug SOURCE HOST:DEST

This script enables core dumps and also logs all the OS system calls that lead up to the failure to a file in the /tmp dir. You can use the resulting files to help figure out why the remote rsync failed.


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.