I run BackupPc on a Debian Squeeze server. It backups other Debian Squeeze machines on my LAN succesfully. I've setup it to backup another Debian Squeeze machine on Wan, but the backup always fails with the error message:
Aborting backup up after signal PIPE
Got fatal error during xfer (aborted by signal=PIPE)
The backup is executed via ssh, and the configuration of this backup client is:
$Conf{RsyncArgs} = [
# Do not edit these!
'--numeric-ids',
'--perms',
'--owner',
'--group',
'--devices',
'--links',
'--times',
'--block-size=2048',
'--recursive',
#
# If you are using a patched client rsync that supports the
# --checksum-seed option (see http://backuppc.sourceforge.net),
# then uncomment this to enabled rsync checksum cachcing
#
'--checksum-seed=32761',
#
# Add additional arguments here
#
'-D',
'--one-file-system',
];
$Conf{FullPeriod} = 6.97;
$Conf{IncrPeriod} = 0.49;
$Conf{FullKeepCnt} = 4;
$Conf{IncrKeepCnt} = 93;
$Conf{XferMethod} = 'rsync';
$Conf{RsyncShareName} = '/';
$Conf{BackupFilesExclude} = [
'/cdrom',
'/dev',
'/files/_nobackup',
'/floppy',
'/lost+found',
'/mnt',
'/proc',
'/sys',
'/tmp/ssh-*',
'/var/lib/amavis/amavisd.sock',
'/var/lib/backuppc',
'/var/lib/nagios3/rw/nagios.cmd',
'/var/run/acpid.socket',
'/var/run/clamav/clamd.ctl',
'/var/run/courier/authdaemon/socket',
'/var/run/mysqld/mysqld.sock',
'/var/run/nut/usbhid-ups-apc_backups_cs500',
'/var/run/proftpd.sock',
'/var/run/screen',
'/var/spool/postfix/private/amavis',
'/var/spool/postfix/private/anvil',
'/var/spool/postfix/private/bounce',
'/var/spool/postfix/private/bsmtp',
'/var/spool/postfix/private/defer',
'/var/spool/postfix/private/discard',
'/var/spool/postfix/private/error',
'/var/spool/postfix/private/ifmail',
'/var/spool/postfix/private/lmtp',
'/var/spool/postfix/private/local',
'/var/spool/postfix/private/maildrop',
'/var/spool/postfix/private/odmr',
'/var/spool/postfix/private/proxymap',
'/var/spool/postfix/private/relay',
'/var/spool/postfix/private/retry',
'/var/spool/postfix/private/rewrite',
'/var/spool/postfix/private/scache',
'/var/spool/postfix/private/scalemail-backend',
'/var/spool/postfix/private/smtp',
'/var/spool/postfix/private/tlsmgr',
'/var/spool/postfix/private/trace',
'/var/spool/postfix/private/uucp',
'/var/spool/postfix/private/verify',
'/var/spool/postfix/private/virtual',
'/var/spool/postfix/public/cleanup',
'/var/spool/postfix/public/flush',
'/var/spool/postfix/public/pickup',
'/var/spool/postfix/public/qmgr',
'/var/spool/postfix/public/showq',
'/var/spool/postfix/var/run/saslauthd/mux',
'/var/spool/squid',
];
$Conf{XferLogLevel} = 1;
$Conf{CompressLevel} = 9;
$Conf{PingMaxMsec} = 200;
$Conf{ClientTimeout} = 3600*8; # 6 Hours!!
I tried a local tar backup to see if there is some issue woth the filesystem, and everything gone fine.
Any suggestions on how to debug ?
I've invesitgate on the meaning of sigpipe. As described in SIGPIPE - Wikipedia, the free encyclopedia:
So I suspected that the trouble was with the
ssh
transport that gets disconnected.I've setup a longer timeout to
ssh
using the options-o ServerAliveInterval=300
, in the config:Now the backup has complete successfully!
Just in case this is useful to others, we were getting both
aborted by signal=PIPE
andChild exited prematurely
on some backups (only incremental backups it would seem). Adjusting the$Conf(RsyncClientCmd)
didn't work for our installation of BackupPc 3.1 on Centos 5 (soon to be upgraded), as it broke the attempt to connect in the first place. We are usingrsync
overssh
.As the machine was dedicated to doing backups and we were concerned about others using ssh access, we simply set
ClientAliveInterval=300
in/etc/ssh/sshd_conf
on the client machines (not the BackupPc server), but this could have been done for the individual login instead.I got this message when running backups with BackupPC just because the
RsyncShareName
parameter (that defines which folders should be synced) was not correct: the given folder didn't exist on the server.You could check at this parameter in the
Xfer
settings.I got the same issue and I finally figured it out. When you define host specific directories to back up for a host and one of these directories does not exist, rsync will fail with message like:
After removing the directory everything works perfectly without any additional rights on rsync.
Hope my experience will help you guys.