BackupPc fails with SIGPIPE

backuppc

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 ?

Best Answer

I've invesitgate on the meaning of sigpipe. As described in SIGPIPE - Wikipedia, the free encyclopedia:

On POSIX-compliant platforms, SIGPIPE is the signal sent to a process when it attempts to write to a pipe without a process connected to the other end. ...

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:

$Conf{RsyncClientCmd} = '$sshPath -o ServerAliveInterval=300 -q -x -l root $host
 $rsyncPath $argList+';

Now the backup has complete successfully!