#!/usr/bin/perl
# Version 1.9 (c) 2001
#              - Vincent Houwert (vincent@trueserver.nl)
#              - Marcel Leicher (marcel@silverpoint.nl)
#   LAST UPDATE: 10/06/2001
#
# We're going to generate weekly and monthly backups of mrtg.
#
$maketar = "true"; # if you want a TAR.GZ also, "true"
                   # creates a mrtg-year-week/month.tar.gz in $workdir

$mrtgconf = $ARGV[0];
$backup = $ARGV[1]; # week or month
 
@targets = `cat < $mrtgconf | grep Target`;
$WorkDir = `cat < $mrtgconf | grep WorkDir`;
 
$week = `date -d yesterday +%W`;
$week =~ s/\n//;
$week =~ s/\r//;
$maand = `date -d yesterday +%b`;
$maand =~ s/\n//;
$maand =~ s/\r//;
$jaar = `date -d yesterday +%Y`;
$jaar =~ s/\n//;
$jaar =~ s/\r//;
 
($nouse, $workdir) = split(/:/, $WorkDir);
$workdir =~ s/\s//g;
$workdir =~ s/\n//g;
$workdir =~ s/\r//g;
if ($backup eq "month" || $backup eq "") {
  $mkdir = `mkdir $workdir/$jaar-$maand`;
  foreach $Tar (@targets) {
    if ($Tar !~ /^#/) {
      $Tar =~ s/Target\[//i;
      ($target,$nouse) = split(/\]/, $Tar);
      $target =~ s/\s//g;
      $copy = `cp $workdir/$target.* $workdir/$jaar-$maand`;
      $copy2 = `cp $workdir/$target\*.png $workdir/$jaar-$maand`;
      }
    }
  if ($maketar eq "true") { $tar = `tar -zcf $workdir/$jaar-$maand.tar.gz $workdir/$jaar-$maand`; }
  }

if ($backup eq "week") {
  $mkdir = `mkdir $workdir/$jaar-$week`;
  foreach $Tar (@targets) {
   if ($Tar !~ /^#/) {
      $Tar =~ s/Target\[//i;
      ($target,$nouse) = split(/\]/, $Tar);
      $target =~ s/\s//g;
      $copy = `cp $workdir/$target.* $workdir/$jaar-$week`;
      $copy2 = `cp $workdir/$target\*.png $workdir/$jaar-$week`;
      }
    }
  if ($maketar eq "true") { $tar = `tar -zcf $workdir/$jaar-$week.tar.gz $workdir/$jaar-$week`; }
  }
exit;
