BackupPc falha com o SIGPIPE

4

Eu executo o BackupPc em um servidor Debian Squeeze. Ele faz backup de outras máquinas Debian Squeeze na minha LAN com sucesso. Eu o configurei para fazer o backup de outra máquina do Debian Squeeze no Wan, mas o backup sempre falha com a mensagem de erro:

Aborting backup up after signal PIPE
Got fatal error during xfer (aborted by signal=PIPE)

O backup é executado via ssh, e a configuração deste cliente de backup é:

$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!!

Eu tentei um backup de tar local para ver se há algum problema no sistema de arquivos e tudo correu bem.

Alguma sugestão sobre como depurar?

    
por GabrieleV 11.01.2012 / 15:21

4 respostas

11

Eu invesitgate sobre o significado de sigpipe. Conforme descrito em SIGPIPE - Wikipedia, a enciclopédia livre :

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. ...

Então, suspeitei que o problema estava no ssh transport que foi desconectado.

Eu configurei um tempo limite maior para ssh usando as opções -o ServerAliveInterval=300 , na configuração:

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

Agora o backup foi concluído com sucesso!

    
por 12.01.2012 / 11:47
1

Se isso for útil para outras pessoas, estaríamos recebendo aborted by signal=PIPE e Child exited prematurely em alguns backups (apenas backups incrementais pareceriam). Ajustar o $Conf(RsyncClientCmd) não funcionou para a nossa instalação do BackupPc 3.1 no Centos 5 (que em breve será atualizado) , pois quebrou a tentativa de conexão em primeiro lugar. Estamos usando rsync over ssh .

Como a máquina estava dedicada a fazer backups e estávamos preocupados com o uso de acesso ssh, simplesmente definimos ClientAliveInterval=300 em /etc/ssh/sshd_conf nas máquinas clientes (não no servidor BackupPc), mas isso poderia ter sido feito para o login individual em vez disso.

    
por 18.02.2016 / 13:02
0

Recebi esta mensagem ao executar backups com o BackupPC porque o parâmetro RsyncShareName (que define quais pastas devem ser sincronizadas) não estava correto: a pasta fornecida não existia no servidor.

Você pode verificar este parâmetro nas configurações Xfer .

    
por 02.12.2016 / 17:00
0

Eu tenho o mesmo problema e finalmente descobri. Quando você define diretórios específicos do host para fazer backup de um host e um desses diretórios não existe, o rsync falhará com uma mensagem como:

Got fatal error during xfer (aborted by signal=PIPE)

Depois de remover o diretório, tudo funciona perfeitamente, sem quaisquer direitos adicionais no rsync.

Espero que minha experiência ajude vocês.

    
por 05.03.2018 / 23:29

Tags