Hello,
Thanks for your fast reply!

On 10/07/25 09:59, G.W. Haywood wrote:
Yikes! I think it's a decade since I last used version 3.something.
You really should upgrade, there are good reasons for it in the docs.
Some of them might even have a bearing on your problem.

I know it's old, but it's the one shipped with the OS, and upgrading means upgrade OS too.

Now that I've got a faster connection I'm planning to discontinue my old VM, moving a lot of stuff locally, and using a new VM just for SMTP and proxy. But time is short...

It's not clear to me at this stage that you have grounds for blaming
a cluster side change and/or networking stuff but anything's possible.
Because it stopped working after years. My first blame was for the growing storage dimension, so I did a very big cleaning and now full backup runs in 1h30m, before was about 3h30m. But incremental backup are still not working, and in past they worked with a bigger filesystem.

I can't remember what a version 3 configuration looks like but I feel
sure that you could configure all automatic backups to be fulls.
I will search further, but I didn't find anything since now.
Presumably xxx.net is not really your host.  It's much better to use
"example.net" rather than a hostname for which you have no rights.
You're right, next time I will use example.net
My guess is that it's just taking a long time to calculate what needs
to be put into an incremental backup.  BackupPC V4 is much better than
version 3 in this respect, it treats fulls and incrementals in a very
different way.

Searching how to disable incremental backups I found this:

"Starting in 2.1.0, BackupPC supports optional checksum caching, which means the block and file checksums only need to be computed once for each file. This results in a significant performance improvement. This only works for compressed pool files. It is enabled by adding

        '--checksum-seed=32761',

to $Conf{RsyncArgs} and $Conf{RsyncRestoreArgs}."

I will have a try, maybe it can mitigate my problem. But I think that it will work after a number of failed incremental backup, hoping that BackupPc stores checksum also when fails.

I would expect the interesting stuff to be in the BackupPC server
logs.  Maybe try increasing the log verbosity in the configuration?
If you set the configuration option

$Conf{XferLogLevel}=2;

I'm already with log level 2, but yesterday I missed the XferLog:

Executing DumpPreUserCmd: /usr/bin/ssh -q -x -l root example.net /root/script/dbbkp.sh
dumping example1
dumping example2
dumping mailserver
dumping mantis
dumping ** mysql **
dumping nextcloud
skipping performance_schema
dumping phpmyadmin
dumping roundcube
incr backup started back to 2025-07-07 09:31:41 (backup #1125) for directory / Running: /usr/bin/ssh -q -x -l root example.net /usr/bin/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive . /
Xfer PIDs are now 18241
Got remote protocol 31
Negotiated protocol version 28
Checksum seed is 1752123612
Got checksumSeed 0x686f48dc
Sent exclude: /proc
Sent exclude: /sys
Sent exclude: /var/lib/mysql
Sent exclude: /var/lib/php/sessions
Sent exclude: /mnt/data/mysql
Sent exclude: /tmp
Sent exclude: /run
Got file list: 431657 entries
Child PID is 18243
Xfer PIDs are now 18241,18243
Sending csums, cnt = 431657, phase = 0
Read EOF:
Tried again: got 0 bytes
Child is aborting
Parent read EOF from child: fatal error!
Sending csums, cnt = 8394, phase = 1
Done: 0 files, 0 bytes
Got fatal error during xfer (Child exited prematurely)
Backup aborted (Child exited prematurely)

My suspects are on RsyncArgs config,

What are your reasons for your suspicions?

My suspicions are driven by the difference between full and incremental, that changes only in how rsync works. Apparently incremental are heavier than full. Do you think it's correct, after the new XferLog just above?

I can't find the differences since $Conf{XferLogLevel}=2 only logs on *failed* backups, and full backup doesn't fail. How can I tell BackupPc to store XferLog also for good ones?

I should have thought '/dev' ought to be in there too, and what do you
have in '/var/log'?  As I tend to to keep logs for a very long time I
have a habit of excluding that too.

Good hint remove /dev, just did it but unfortunately incremental are still failing

/var/log is not so big:

# du -h --max-depth=1 /var/log/
1,3M    /var/log/letsencrypt
100K    /var/log/apt
64K    /var/log/squid3
36K    /var/log/mongodb
4,0K    /var/log/ntpstats
12K    /var/log/fsck
4,0K    /var/log/news
4,0K    /var/log/stunnel4
4,0K    /var/log/unattended-upgrades
67M    /var/log/nginx
64K    /var/log/mysql
137M /var/log/

My questions are two:

[1] How can I debug what's killing my incremental backups? Is it
possible to let them be more ligthweight, maybe letting them finish,
working on RsyncArgs or maybe elsewhere?

If it isn't something as simple as adding '/dev' to BackupFilesExclude
you could try excluding more directories, or, perhaps better, rather
than backing up a share which contains the entire '/' you could define
several shares, with one directory or a few directories from the VM's
root in each share.  Then maybe the problem will only appear in one of
the shares and you can keep on paring down the backed up files until
you get to the bottom of it.

Good hint, I will split my backup trying to find where it fails.

[2] If [1] fails, how can I completly disable incremental scheduling
only full backups?

As I said it's a very long time since I used version 3 of BackupPC so
I probably won't be able to help very much with this.  Can you share
your 'config.pl' file with us?

For sure, here you are:

# more config.pl |grep -v '#' |grep -v '^[[:space:]]*$'
$ENV{'PATH'} = '/bin:/usr/bin';
delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};
$Conf{ServerHost} = 'backup';
chomp($Conf{ServerHost});
$Conf{ServerPort} = -1;
$Conf{ServerMesgSecret} = '';
$Conf{MyPath} = '/bin';
$Conf{UmaskMode} = 23;
$Conf{WakeupSchedule} = [
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  16,
  17,
  18,
  19,
  20,
  21,
  22,
  23
];
$Conf{MaxBackups} = 4;
$Conf{MaxUserBackups} = 4;
$Conf{MaxPendingCmds} = 15;
$Conf{CmdQueueNice} = 10;
$Conf{MaxBackupPCNightlyJobs} = 2;
$Conf{BackupPCNightlyPeriod} = 1;
$Conf{MaxOldLogFiles} = 14;
$Conf{DfPath} = '/bin/df';
$Conf{DfCmd} = '$dfPath $topDir';
$Conf{SplitPath} = '/usr/bin/split';
$Conf{ParPath} = undef;
$Conf{CatPath} = '/bin/cat';
$Conf{GzipPath} = '/bin/gzip';
$Conf{Bzip2Path} = '/bin/bzip2';
$Conf{DfMaxUsagePct} = 95;
$Conf{TrashCleanSleepSec} = 300;
$Conf{DHCPAddressRanges} = [];
$Conf{BackupPCUser} = 'backuppc';
$Conf{TopDir} = '/var/lib/backuppc';
$Conf{ConfDir} = '/etc/backuppc';
$Conf{LogDir} = '/var/lib/backuppc/log';
$Conf{InstallDir} = '/usr/share/backuppc';
$Conf{CgiDir} = '/usr/share/backuppc/cgi-bin';
$Conf{BackupPCUserVerify} = '1';
$Conf{HardLinkMax} = 31999;
$Conf{PerlModuleLoad} = undef;
$Conf{ServerInitdPath} = undef;
$Conf{ServerInitdStartCmd} = '';
$Conf{FullPeriod} = '6.97';
$Conf{IncrPeriod} = '0.97';
$Conf{FullKeepCnt} = [
  6
];
$Conf{FullKeepCntMin} = 1;
$Conf{FullAgeMax} = 90;
$Conf{IncrKeepCnt} = 6;
$Conf{IncrKeepCntMin} = 1;
$Conf{IncrAgeMax} = 30;
$Conf{IncrLevels} = [
  1
];
$Conf{BackupsDisable} = 0;
$Conf{PartialAgeMax} = 3;
$Conf{IncrFill} = '0';
$Conf{RestoreInfoKeepCnt} = 10;
$Conf{ArchiveInfoKeepCnt} = 10;
$Conf{BackupFilesOnly} = {};
$Conf{BackupFilesExclude} = {
  '*' => [
    '/proc',
    '/sys',
    '/mnt/nas'
  ]
};
$Conf{BlackoutBadPingLimit} = 3;
$Conf{BlackoutGoodCnt} = 7;
$Conf{BlackoutPeriods} = [
  {
    'hourEnd' => '23.5',
    'hourBegin' => 7,
    'weekDays' => [
      1,
      2,
      3,
      4,
      5
    ]
  }
];
$Conf{BackupZeroFilesIsFatal} = '0';
$Conf{XferMethod} = 'rsync';
$Conf{XferLogLevel} = 2;
$Conf{ClientCharset} = '';
$Conf{ClientCharsetLegacy} = 'iso-8859-1';
$Conf{SmbShareName} = [
  'C$'
];
$Conf{SmbShareUserName} = '';
$Conf{SmbSharePasswd} = '';
$Conf{SmbClientPath} = '/usr/bin/smbclient';
$Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -Tc$X_option - $fileList'; $Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -TcN$X_option $timeStampFile - $fileList'; $Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 5 -c tarmode\\ full -Tx -';
$Conf{TarShareName} = [
  '/'
];
$Conf{TarClientCmd} = '$sshPath -q -x -n -l root $host env LC_ALL=C $tarPath -c -v -f - -C $shareName+ --totals';
$Conf{TarFullArgs} = '$fileList+';
$Conf{TarIncrArgs} = '--newer=$incrDate+ $fileList+';
$Conf{TarClientRestoreCmd} = '$sshPath -q -x -l root $host env LC_ALL=C $tarPath -x -p --numeric-owner --same-owner -v -f - -C $shareName+';
$Conf{TarClientPath} = '/bin/tar';
$Conf{RsyncClientPath} = '/usr/bin/rsync';
$Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+'; $Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+';
$Conf{RsyncShareName} = [
  '/'
];
$Conf{RsyncdClientPort} = 873;
$Conf{RsyncdUserName} = '';
$Conf{RsyncdPasswd} = '';
$Conf{RsyncdAuthRequired} = '1';
$Conf{RsyncCsumCacheVerifyProb} = '0.01';
$Conf{RsyncArgs} = [
  '--numeric-ids',
  '--perms',
  '--owner',
  '--group',
  '-D',
  '--links',
  '--hard-links',
  '--times',
  '--block-size=2048',
  '--recursive'
];
$Conf{RsyncArgsExtra} = [];
$Conf{RsyncRestoreArgs} = [
  '--numeric-ids',
  '--perms',
  '--owner',
  '--group',
  '-D',
  '--links',
  '--hard-links',
  '--times',
  '--block-size=2048',
  '--relative',
  '--ignore-times',
  '--recursive'
];
$Conf{FtpShareName} = [
  ''
];
$Conf{FtpUserName} = '';
$Conf{FtpPasswd} = '';
$Conf{FtpPassive} = '1';
$Conf{FtpBlockSize} = 10240;
$Conf{FtpPort} = 21;
$Conf{FtpTimeout} = 120;
$Conf{FtpFollowSymlinks} = '0';
$Conf{ArchiveDest} = '/tmp';
$Conf{ArchiveComp} = 'gzip';
$Conf{ArchivePar} = '0';
$Conf{ArchiveSplit} = 0;
$Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archiveHost $tarCreatePath $splitpath $parpath $host $backupnumber $compression $compext $splitsize $archiveloc $parfile *';
$Conf{SshPath} = '/usr/bin/ssh';
$Conf{NmbLookupPath} = '/usr/bin/nmblookup';
$Conf{NmbLookupCmd} = '$nmbLookupPath -A $host';
$Conf{NmbLookupFindHostCmd} = '$nmbLookupPath $host';
$Conf{FixedIPNetBiosNameCheck} = '0';
$Conf{PingPath} = '/bin/ping';
$Conf{PingCmd} = '$pingPath -c 1 $host';
$Conf{PingMaxMsec} = 80;
$Conf{CompressLevel} = 3;
$Conf{ClientTimeout} = 72000;
$Conf{MaxOldPerPCLogFiles} = 12;
$Conf{DumpPreUserCmd} = '$sshPath -q -x -l root $host /root/script/dbbkp.sh';
$Conf{DumpPostUserCmd} = undef;
$Conf{DumpPreShareCmd} = undef;
$Conf{DumpPostShareCmd} = undef;
$Conf{RestorePreUserCmd} = undef;
$Conf{RestorePostUserCmd} = undef;
$Conf{ArchivePreUserCmd} = undef;
$Conf{ArchivePostUserCmd} = undef;
$Conf{UserCmdCheckStatus} = '0';
$Conf{ClientNameAlias} = undef;
$Conf{SendmailPath} = '/usr/sbin/sendmail';
$Conf{EMailNotifyMinDays} = '2.5';
$Conf{EMailFromUserName} = 'backu...@example.net';
$Conf{EMailAdminUserName} = 'gabri...@example.net';
$Conf{EMailUserDestDomain} = '';
$Conf{EMailNoBackupEverSubj} = undef;
$Conf{EMailNoBackupEverMesg} = undef;
$Conf{EMailNotifyOldBackupDays} = '1.5';
$Conf{EMailNoBackupRecentSubj} = undef;
$Conf{EMailNoBackupRecentMesg} = undef;
$Conf{EMailNotifyOldOutlookDays} = 5;
$Conf{EMailOutlookBackupSubj} = undef;
$Conf{EMailOutlookBackupMesg} = undef;
$Conf{EMailHeaders} = 'MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
';
$Conf{CgiAdminUserGroup} = 'backuppc';
$Conf{CgiAdminUsers} = 'backuppc';
$Conf{CgiURL} = 'http://backup/backuppc/index.cgi';
$Conf{Language} = 'en';
$Conf{CgiUserHomePageCheck} = '';
$Conf{CgiUserUrlCreate} = 'mailto:%s';
$Conf{CgiDateFormatMMDD} = 2;
$Conf{CgiNavBarAdminAllHosts} = '1';
$Conf{CgiSearchBoxEnable} = '1';
$Conf{CgiNavBarLinks} = [
  {
    'name' => undef,
    'lname' => 'Documentation',
    'link' => '?action=view&type=docs'
  },
  {
    'name' => 'Wiki',
    'lname' => undef,
    'link' => 'http://backuppc.wiki.sourceforge.net'
  },
  {
    'lname' => undef,
    'name' => 'SourceForge',
    'link' => 'http://backuppc.sourceforge.net'
  }
];
$Conf{CgiStatusHilightColor} = {
};
$Conf{CgiHeaders} = '<meta http-equiv="pragma" content="no-cache">';
$Conf{CgiImageDir} = '/usr/share/backuppc/image';
$Conf{CgiExt2ContentType} = {};
$Conf{CgiImageDirURL} = '/backuppc/image';
$Conf{CgiCSSFile} = 'BackupPC_stnd.css';
$Conf{CgiUserConfigEditEnable} = '1';
$Conf{CgiUserConfigEdit} = {
  'ClientTimeout' => '1',
  'RsyncdPasswd' => '1',
  'TarClientPath' => '0',
  'RestoreInfoKeepCnt' => '1',
  'FtpShareName' => '1',
  'RsyncdClientPort' => '1',
  'DumpPostUserCmd' => '0',
  'ArchivePreUserCmd' => '0',
  'FullPeriod' => '1',
  'RsyncArgsExtra' => '1',
  'RsyncCsumCacheVerifyProb' => '1',
  'NmbLookupCmd' => '0',
  'ClientCharset' => '1',
  'EMailNoBackupRecentSubj' => '1',
  'ArchiveSplit' => '1',
  'FtpPasswd' => '1',
  'RestorePostUserCmd' => '0',
  'RsyncdUserName' => '1',
  'MaxOldPerPCLogFiles' => '1',
  'UserCmdCheckStatus' => '0',
  'IncrPeriod' => '1',
  'TarFullArgs' => '1',
  'SmbClientIncrCmd' => '0',
  'ArchivePar' => '1',
  'EMailNoBackupEverSubj' => '1',
  'ClientCharsetLegacy' => '1',
  'PartialAgeMax' => '1',
  'EMailNoBackupRecentMesg' => '1',
  'SmbShareName' => '1',
  'EMailUserDestDomain' => '1',
  'BackupFilesOnly' => '1',
  'RsyncClientPath' => '0',
  'TarClientRestoreCmd' => '0',
  'ArchiveComp' => '1',
  'FtpRestoreEnabled' => '1',
  'RsyncClientCmd' => '0',
  'ArchiveClientCmd' => '0',
  'FtpPort' => '1',
  'EMailOutlookBackupSubj' => '1',
  'BackupsDisable' => '1',
  'RsyncRestoreArgs' => '1',
  'EMailNotifyOldBackupDays' => '1',
  'BackupFilesExclude' => '1',
  'XferLogLevel' => '1',
  'TarIncrArgs' => '1',
  'DumpPreShareCmd' => '0',
  'NmbLookupFindHostCmd' => '0',
  'FullAgeMax' => '1',
  'EMailOutlookBackupMesg' => '1',
  'BlackoutPeriods' => '1',
  'FullKeepCnt' => '1',
  'EMailHeaders' => '1',
  'FullKeepCntMin' => '1',
  'FtpFollowSymlinks' => '1',
  'CompressLevel' => '1',
  'EMailNoBackupEverMesg' => '1',
  'ArchivePostUserCmd' => '0',
  'PingCmd' => '0',
  'EMailFromUserName' => '1',
  'FtpTimeout' => '1',
  'RsyncdAuthRequired' => '1',
  'PingMaxMsec' => '1',
  'SmbClientFullCmd' => '0',
  'FtpBlockSize' => '1',
  'ClientNameAlias' => '1',
  'RestorePreUserCmd' => '0',
  'RsyncClientRestoreCmd' => '0',
  'IncrKeepCnt' => '1',
  'IncrAgeMax' => '1',
  'BackupZeroFilesIsFatal' => '1',
  'FixedIPNetBiosNameCheck' => '1',
  'EMailAdminUserName' => '1',
  'RsyncArgs' => '1',
  'DumpPostShareCmd' => '0',
  'FtpUserName' => '1',
  'ArchiveInfoKeepCnt' => '1',
  'IncrLevels' => '1',
  'XferMethod' => '1',
  'EMailNotifyMinDays' => '1',
  'BlackoutGoodCnt' => '1',
  'IncrKeepCntMin' => '1',
  'SmbShareUserName' => '1',
  'BlackoutBadPingLimit' => '1',
  'SmbSharePasswd' => '1',
  'SmbClientRestoreCmd' => '0',
  'RsyncShareName' => '1',
  'IncrFill' => '1',
  'TarClientCmd' => '0',
  'EMailNotifyOldOutlookDays' => '1',
  'TarShareName' => '1',
  'DumpPreUserCmd' => '0',
  'ArchiveDest' => '1'
};
$Conf{Ping6Path} = undef;

Thanks a lot for your time, I really appreciate your help!

g4b0


_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    https://github.com/backuppc/backuppc/wiki
Project: https://backuppc.github.io/backuppc/

Reply via email to