Hi,

I'm having trouble getting a backup to complete successfully. I am using BackupPC v2.1.2 on a Debian Sarge (3.1) box, and attempting to use the rsync XferMethod to back up a WinXP box running Cygwin, rsync v2.6.6, and sshd (OpenSSH_4.3p2). I'm hoping to get some pointers and suggestions on how to go about debugging this further. I'll apologize in advance for the forthcoming novella.

  When I attempt a backup, it fails reliably with:

2006-04-13 23:05:37 host: finish: removing in-process file Program Files/3DO/Support/Autorun.BMP
2006-04-13 23:05:37 host: Child is aborting
2006-04-13 23:05:37 host: Parent read EOF from child: fatal error!
2006-04-13 23:05:37 host: Sending csums, cnt = 49673, phase = 1
2006-04-13 23:05:37 host: Done: 140 files, 1285853 bytes
2006-04-13 23:05:38 host: Got fatal error during xfer (Child exited prematurely)

I've also noticed that it leaves "zombie" rsync.exe and corresponding sshd.exe processes on my WinXP box. I've tried to modify rsync on the client and recompile with various suggested changes I found on the 'net, but nothing has had an impact so far. For instance, Craig Barratt mentioned an issue with signals and msleep() back in 2003, and I tried that workaround described in http://www.mail-archive.com/rsync@lists.samba.org/msg07402.html just in case. At one point I also tried rsync v2.6.7, but I backed down again since it made no positive impact. I've read through the likely-looking sections in the docs, and read the FAQs on sourcegforge.net. I set $Conf{XferLogLevel} = 3; and $Conf{RsyncLogLevel} = 3; in my config.pl. I've added my own debug logging down in .../lib/BackupPC/Xfer/Rsync.pm, just to verify that the correct command line and options are being used. It all looks great to me. The command being issued by BackupPC is:

/usr/bin/ssh -q -x -l user host /usr/bin/rsync --server --sender --numeric-ids --perms --owner --group --devices --links --times --block-size=2048 --recursive --exclude=/Documents\\\ and\\\ Settings --exclude=/MSOCache --exclude=/RECYCLER --exclude=/System\\\ Volume\\\ Information --exclude=/temp --exclude=/tmp --exclude=/WINDOWS/Temp --exclude=/WINDOWS/\\\$\\\* --timeout=600 --ignore-times . /cygdrive/c/

I've verified that I can log in via ssh as 'user' to 'host', which is also evidenced by the fact that I get a file list and do get 140 files. I've futzed with ClientTimeout in my config.pl as well as the --timeout option to rsync, but haven't had any impact beyond cutting backups off early if I set a very short timeout. I've verified that I have plenty of disk space (>60GB) on the Linux box, permissions appear correct, CGI user appears correct, correct config.pl files are being read. Whether the Windows firewall is on or off seems to make no difference, and no dropped packets show up in the firewall log. I am running an iptables-based firewall script on the Linux box, but haven't seen anything in the logs. I tried various exclusion lists (and no exclusions) in the rsync command. I know, much of this seems like a "stretch" to try, but when you're stuck... Searching the 'net has turned up a number of individuals with similar-sounding issues, but no solutions that seem to fit me thus far. I've also not seen any broad proclamations that what I am attempting cannot be done, so I am determined to keep trying. I've got perl 5.8.4 on the Linux box, and installed File::RsyncP v0.52. There are a couple of things in the perldoc that disturb me:
  "It is compatible with Rsync 2.5.5(protocol version 26)."
- Does this mean precisely what it says? Or should I reasonably expect that rsync versions after 2.5.5 should work as well? "File::RsyncP does not yet implement server functionality (acting like the remote end of a connection or a daemon). Since the protocol is relatively symmetric this is not difficult to add, so it should appear in a future version."
- Is this a dated comment?  Does anyone know if this is still true?

One thing I have not been able to figure out so far, is how to get more info from rsync. Since I've never used rsync before, it may well be a "D'Oh!" thing I am doing, I dunno. For instance, I can verify ssh operation by issuing a manual command from the Linux box, but I don't see how to issue a manual 'rsync --server --sender ...' command from the WinXP box. In fact, I'm not even sure it's possible, because I don't understand the underlying operation of rsync over ssh.

For those of you who have read this far (my hat's off to your stamina), thank you in advance for any suggestions or pointers you can provide.

Brian


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/backuppc-users
http://backuppc.sourceforge.net/

Reply via email to