Jean-Marc, Thanks for the additional information. Yes, it's a bug. Here's a patch that should fix it.
Craig --- bin/BackupPC 2018-10-22 19:03:33.327873033 -0700 +++ bin/BackupPC 2018-10-26 09:18:50.178239319 -0700 @@ -1803,7 +1803,7 @@ if ( defined($Status->{$host}{backoffTime}) && $Status->{$host}{backoffTime} < time ); return 1 if ( $BgQueueOn{$host} || $UserQueueOn{$host} ); - if ( $Hosts->{$host}{dhcp} ) { + if ( defined($Hosts->{$host}) && $Hosts->{$host}{dhcp} ) { $Status->{$host}{dhcpCheckCnt}++; if ( $RunNightlyWhenIdle ) { # On Fri, Oct 26, 2018 at 1:17 AM Jean-Marc <doc....@orange.fr> wrote: > Hello Craig, > > Thanks for your help. > > Le 26/10/2018 à 07:05, Craig Barratt via BackupPC-users a écrit : > > Does "nmblookup HOSTNAME" return the correct IP address for that > > host? See comments for the $Conf{NmbLookupFindHostCmd} option for > > arguments you might need to add. > My clients are in another subnet. I can't ping "name" nor nmblook "name" > or nmblookup -B "broadcast" > > > > If so, then its IP address should be discovered correctly without the > > dhcp flag. (In almost all cases it's not necessary to use the dhcp > flag.) > > > I'm afraid i'm in this special case, i need to use dhcp discovery loop. > > btw, dhcp flag works as intended, but only in the first wake up loop > after service start. > > Like i said earlier, i suspect a sort of corruption of $host array by > dhcp datas. > > Something like this : > > 1st QueueAllPC after service start : > > { > > $host loop is clean and run only with non-dhcp flags clients, > adding tasks to @BGQueue; > > $dhcp loop run and adds BackupPC_dump -d (ip address) to @BGQueue; > > something fills $host with dhcp flagged clients ? > > } > > > Others QueueAllPC : > > { > > $host loop is perhaps corrupted and adds _all_ clients, including > dhcp ones, adding tasks BackupPC_dump (ip address) to @BGQueue; > > $dhcp loop run and adds BackupPC_dump -d (ip address) to @BGQueue, > but create duplicates jobs of $host loop who are canceled later in > @BGQueue processing loop; > > } > > > I mostly understand perl code, but i need to dump $host array to log > between the two loops and dont know how to print full $host array to LOG > (or elsewhere) to be sure there is a bug. (will try print > join("\n",$host),"\n"; monday) > > I think it's essential to note that dhcp backup is ok if QueueAllPC > loops are switched ($dhcp loop first, then $host loop), except if there > is an ip address in machines list who's part of dhcp range. (problem > inverted, jobs in the first loop deny duplicates in the second loop) > > I suspect a bug in dhcp stuff. > > Thanks > > JM > > > > _______________________________________________ > BackupPC-users mailing list > BackupPC-users@lists.sourceforge.net > List: https://lists.sourceforge.net/lists/listinfo/backuppc-users > Wiki: http://backuppc.wiki.sourceforge.net > Project: http://backuppc.sourceforge.net/ >
_______________________________________________ BackupPC-users mailing list BackupPC-users@lists.sourceforge.net List: https://lists.sourceforge.net/lists/listinfo/backuppc-users Wiki: http://backuppc.wiki.sourceforge.net Project: http://backuppc.sourceforge.net/