Backuppc | 在传输过程中出现致命错误(由信号 = PIPE 中止)

Backuppc | 在传输过程中出现致命错误(由信号 = PIPE 中止)

我在 Ubuntu 16.04.5 LTS 上运行 backuppc 版本 3.3.1,我尝试备份多个 Linux 服务器,几乎包括 Debian、ubuntu 或 proxmox 主机。

我的问题是,当我从 webUI 运行完整/增量备份时,我收到以下消息:

2018-08-06 14:22:32 已开始对目录 /var/lib/vz/dump/dump 进行完整备份(基线备份 #1) 2018-08-06 14:22:33 收到信号 PIPE 后中止备份 2018-08-06 14:22:34 传输期间发生致命错误(由信号=PIPE 中止)<

我的备份驱动器是一个 nfs 驱动器,它被安装为 /mnt/backuppc,而 backuppc 的 topdir 是 /mnt/backuppc/backuppc,我能够使用用户 backuppc 和/或 root 对其进行写入。

我查看了几份文档,以下是我为调试所做的工作。

ssh -l 根域 whoami 根

su su -s /bin/bash backuppc /usr/share/backuppc/bin/BackupPC_dump -v -f HOST

给我这个输出

backuppc@backup3:/home/user$ /usr/share/backuppc/bin/BackupPC_dump -v -f HOST cmdSystemOrEval: 即将进入系统 /bin/ping -c 1 HOST cmdSystemOrEval: 已完成:获得输出 PING HOST (149.202.75.195) 56(84) 字节数据。64 字节来自 ns3013409.ip-149-202-75.eu (149.202.75.195):icmp_seq=1 ttl=53 时间=23.6 毫秒

--- 主机 ping 统计 --- 已发送 1 个数据包,已接收 1 个数据包,0% 数据包丢失,时间 0ms rtt min/avg/max/mdev = 23.654/23.654/23.654/0.000 ms

cmdSystemOrEval:即将进入系统 /bin/ping -c 1 HOST cmdSystemOrEval:已完成:获得输出 PING HOST (149.202.75.195) 56(84) 字节数据。来自 ns3013409.ip-149-202-75.eu (149.202.75.195) 的 64 字节:icmp_seq=1 ttl=53 时间=23.6 毫秒

--- 主机 ping 统计 --- 已发送 1 个数据包,已接收 1 个数据包,0% 数据包丢失,时间 0ms rtt min/avg/max/mdev = 23.602/23.602/23.602/0.000 ms

CheckHostAlive:返回 23.602 已启动目录 /var/lib/vz/dump/dump 的完整备份(基线备份 #1)已启动完整转储,共享=/var/lib/vz/dump/dump 正在运行:/usr/bin/ssh -o ServerAliveInterval=300 -q -x -l root HOST /usr/bin/rsync --server --sender --protocol=29 --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --ignore-times 。/var/lib/vz/dump/dump/ Xfer PID 现为 2549 xferPids 2549 获得远程协议 29 协商协议版本 29 远程[2]:跳过目录。 Xfer PID 现在是 2549,2550 xferPids 2549,2550 无法将 4 个字节写入套接字 读取 EOF:重试:获得 0 个字节 子进程正在中止 完成:0 个文件,0 个字节 在 xfer 期间出现致命错误(由信号 = PIPE 中止) 用户信号中止备份 由于文件数少于前一个备份,因此不将其保存为部分备​​份(获得 0 个和 0 个文件对比 1831 个) 转储失败:由信号 = PIPE 中止 <

当我手动运行 rsync 命令时,备份已正确启动:

rsync -av -e ssh root@HOST:/var/lib/vz/dump/dump /mnt/backuppc/backuppc/pc/pHOST/2<

下面是我的 HOST.pl 文件:$Conf{RsyncShareName} = [ '/etc', '/var/lib/vz/dump/dump' ]; $Conf{RsyncClientCmd} = '$sshPath -o ServerAliveInterval=300 -q -x -l root $host $rsyncPath $argList+'; $Conf{RsyncArgs} = [ '--protocol=29', '--numeric-ids', '--perms', '--owner', '--group', '-D', '--links', '--hard-links', '--times', '--block-size=2048' ]; $Conf{ClientTimeout} = 72000; $Conf{PingMaxMsec} = 50; $Conf{XferMethod} = 'rsync'; $Conf{RsyncClientPath} = '/usr/bin/rsync';

我不明白为什么它可以正确登录主机进行备份并在备份开始后立即中止。

有人能帮我找到解决这个问题的方法吗?我想我已经用 Google 搜索了所有可以解决此错误消息的方法。非常感谢。

附言:对于这篇文章的格式,我深表歉意,这是我在这里的第一篇帖子,还不太熟悉语法。

答案1

我终于找到了解决方案,我删除了默认的 rsync ssh arg:--recursive,这是强制性的,所以我的 host.pl 就像这样 $Conf{RsyncShareName} = [ '/etc', '/var/lib/mysql', '/var/mysql' ]; $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+'; $Conf{RsyncArgs} = [ '--numeric-ids', '--perms', '--owner', '--group', '-D', '--links', '--hard-links', '--times', '--block-size=2048', '--recursive' ]; –

希望这能对将来的某人有所帮助...

相关内容