Skip to content

Commit 0e5c7d5

Browse files
committed
Fix html output dir cleanup. Thanks to Bertrand Bourgier for the patch.
1 parent 47acd7a commit 0e5c7d5

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

pgbadger

+20-19
Original file line numberDiff line numberDiff line change
@@ -1376,7 +1376,8 @@ if (!$noclean && $outdir &&
13761376
}
13771377

13781378
# Clear storage when a retention is specified in incremental mode
1379-
if ( $outdir && $retention && ($saved_last_line{datetime} || $pgb_saved_last_line{datetime}) )
1379+
my $ret_dir = $html_outdir || $outdir;
1380+
if ( $ret_dir && $retention && ($saved_last_line{datetime} || $pgb_saved_last_line{datetime}) )
13801381
{
13811382
if (($saved_last_line{datetime} =~ /^(\d+)\-(\d+)\-(\d+) /) ||
13821383
($pgb_saved_last_line{datetime} =~ /^(\d+)\-(\d+)\-(\d+) /))
@@ -1399,38 +1400,38 @@ if ( $outdir && $retention && ($saved_last_line{datetime} || $pgb_saved_last_lin
13991400
&logmsg('DEBUG', "Retention cleanup: directories and files older than <$limit> will be removed");
14001401

14011402
# Find obsolete weeks dir that shoud be cleaned
1402-
unless(opendir(DIR, "$outdir")) {
1403-
localdie("FATAL: can't opendir $outdir: $!\n");
1403+
unless(opendir(DIR, "$ret_dir")) {
1404+
localdie("FATAL: can't opendir $ret_dir: $!\n");
14041405
}
14051406
my @dyears = grep { $_ =~ /^\d+$/ } readdir(DIR);
14061407
closedir DIR;
14071408
my @obsolete_weeks = ();
14081409
foreach my $y (sort { $a <=> $b } @dyears) {
1409-
unless(opendir(DIR, "$outdir/$y")) {
1410-
localdie("FATAL: can't opendir $outdir/$y: $!\n");
1410+
unless(opendir(DIR, "$ret_dir/$y")) {
1411+
localdie("FATAL: can't opendir $ret_dir/$y: $!\n");
14111412
}
14121413
my @weeks = grep { $_ =~ /^week-\d+$/ } readdir(DIR);
14131414
closedir DIR;
14141415
foreach my $w (sort { $a <=> $b } @weeks) {
14151416
$w =~ /^week-(\d+)$/;
14161417
if ("$y$1" lt $limit) {
1417-
&logmsg('DEBUG', "Removing obsolete week directory $outdir/$y/week-$1");
1418-
&cleanup_directory("$outdir/$y/week-$1", 1);
1418+
&logmsg('DEBUG', "Removing obsolete week directory $ret_dir/$y/week-$1");
1419+
&cleanup_directory("$ret_dir/$y/week-$1", 1);
14191420
push(@obsolete_weeks, "$y$1");
14201421
}
14211422
}
14221423
}
14231424
# Now removed the corresponding days
14241425
foreach my $y (sort { $a <=> $b } @dyears) {
1425-
unless(opendir(DIR, "$outdir/$y")) {
1426-
localdie("FATAL: can't opendir $outdir/$y: $!\n");
1426+
unless(opendir(DIR, "$ret_dir/$y")) {
1427+
localdie("FATAL: can't opendir $ret_dir/$y: $!\n");
14271428
}
14281429
my @dmonths = grep { $_ =~ /^\d+$/ } readdir(DIR);
14291430
closedir DIR;
14301431
my @rmmonths = ();
14311432
foreach my $m (sort { $a <=> $b } @dmonths) {
1432-
unless(opendir(DIR, "$outdir/$y/$m")) {
1433-
localdie("FATAL: can't opendir $outdir/$y/$m: $!\n");
1433+
unless(opendir(DIR, "$ret_dir/$y/$m")) {
1434+
localdie("FATAL: can't opendir $ret_dir/$y/$m: $!\n");
14341435
}
14351436
my @rmdays = ();
14361437
my @ddays = grep { $_ =~ /^\d+$/ } readdir(DIR);
@@ -1454,8 +1455,8 @@ if ( $outdir && $retention && ($saved_last_line{datetime} || $pgb_saved_last_lin
14541455
{
14551456
if (grep(/^$y$weekNumber$/, @obsolete_weeks))
14561457
{
1457-
&logmsg('DEBUG', "Removing obsolete directory $outdir/$y/$m/$d");
1458-
&cleanup_directory("$outdir/$y/$m/$d", 1);
1458+
&logmsg('DEBUG', "Removing obsolete directory $ret_dir/$y/$m/$d");
1459+
&cleanup_directory("$ret_dir/$y/$m/$d", 1);
14591460
push(@rmdays, $d);
14601461
}
14611462
}
@@ -1471,21 +1472,21 @@ if ( $outdir && $retention && ($saved_last_line{datetime} || $pgb_saved_last_lin
14711472
$lastday = POSIX::strftime("%s", 1,1,1,$3,$2-1,$1-1900);
14721473
}
14731474
if (($lastday - $oldday) > $diff_day) {
1474-
&logmsg('DEBUG', "Removing obsolete directory $outdir/$y/$m/$d");
1475-
&cleanup_directory("$outdir/$y/$m/$d", 1);
1475+
&logmsg('DEBUG', "Removing obsolete directory $ret_dir/$y/$m/$d");
1476+
&cleanup_directory("$ret_dir/$y/$m/$d", 1);
14761477
push(@rmdays, $d);
14771478
}
14781479
}
14791480
}
14801481
if ($#ddays == $#rmdays) {
1481-
&logmsg('DEBUG', "Removing obsolete empty directory $outdir/$y/$m");
1482-
rmdir("$outdir/$y/$m");
1482+
&logmsg('DEBUG', "Removing obsolete empty directory $ret_dir/$y/$m");
1483+
rmdir("$ret_dir/$y/$m");
14831484
push(@rmmonths, $m);
14841485
}
14851486
}
14861487
if ($#dmonths == $#rmmonths) {
1487-
&logmsg('DEBUG', "Removing obsolete empty directory $outdir/$y");
1488-
rmdir("$outdir/$y");
1488+
&logmsg('DEBUG', "Removing obsolete empty directory $ret_dir/$y");
1489+
rmdir("$ret_dir/$y");
14891490
}
14901491
}
14911492
}

0 commit comments

Comments
 (0)