#!/usr/bin/perl
# Version 1.9 (c) 2001
#              - Vincent Houwert (vincent@trueserver.nl)
#              - Marcel Leicher (marcel@silverpoint.nl)
#   LAST UPDATE: 10/06/2001
#
# Just edit this:
# Were do I live?
$mydir = "/var/ftp/linux/zealot/src/gbgraph";
# Location of your MRTG 2.x config-file:
$mrtgconf = "/etc/mrtg/mrtg.cfg";
# Do you want to generate a new file (make month history), or add new data to old files?
#$new = "true";
# That's it!
# -------------------------------

@targets = `cat < $mrtgconf | grep Target`;
$WorkDir = `cat < $mrtgconf | grep -i ^WorkDir`;

$dag = `date +%d`;
$dag =~ s/\n//;
$dag =~ s/\r//;
$maand = `date +%m`;
$maand =~ s/\n//;
$maand =~ s/\r//;
$jaar = `date +%y`;
$jaar =~ s/\n//;
$jaar =~ s/\r//;

($nouse, $workdir) = split(/:/, $WorkDir);
$workdir =~ /^#/;
$workdir =~ s/\s//g;
$workdir =~ s/\n//g;
$workdir =~ s/\r//g;
print "Using workdir: $workdir, we ";
if ($new eq "true") { print "do"; }
else { print "don\'t"; }
print " generate a new file each time.\n";
print "Targets:\n";
foreach $Tar (@targets) {
  if ($Tar !~ /^#/) {
    $Tar =~ s/Target\[//i;
    ($target,$nouse) = split(/\]/, $Tar);
    $target =~ s/\s//g;
    print "* $target : $target.log -> $target.data\n";
    $Dag = $dag+1;
    if ($new eq "true") {
      for ($j=2; $j<$Dag; $j++) {
        $preday = $j-1;
        $day = $j;
        if ($preday < 10) { 
          $preday = "0$preday"; 
          }
        if ($day < 10) { 
          $day = "0$day"; 
          }
        if ($preday eq "01") {
          $value = `$mydir/mrtglog $preday/$maand/$jaar $day/$maand/$jaar < $workdir/$target.log | awk \{\'print \$3\'\} | $mydir/calc.pl $jaar$maand$preday > $workdir/$target.data`;
          }
        else {
          $value = `$mydir/mrtglog $preday/$maand/$jaar $day/$maand/$jaar < $workdir/$target.log | awk \{\'print \$3\'\} | $mydir/calc.pl $jaar$maand$preday >> $workdir/$target.data`;
          }
        print "$value";
        }
      }
    else {
      $today = `date +%d\/%m\/%y`;
      $today =~ s/\n//; $today =~ s/\r//;
      $preday = `date -d yesterday +%d\/%m\/%y`;
      $preday =~ s/\n//; $preday =~ s/\r//;
      $cday = `date -d yesterday +%y%m%d`;
      $cday =~ s/\n//; $cday =~ s/\r//;
      $value = `$mydir/mrtglog $preday $today < $workdir/$target.log | awk \{\'print \$3\'\} | $mydir/calc.pl $cday >> $workdir/$target.data`;
      print "$value"; 
      }
    }
  }
