All pastes #271394 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-12-08 05:18 UTC
rendered paste body
#!/app/gmd/bin/perl
$NumberFiles = 60000 ;
$rollNumberLines = 100000 ;
$doLogFiles = 1 ;
$logFileDirectory = "/app/gmd/data/rv_check" ;
$bin_dir = "/app/gmd/tib/ref/bin/" ;
$sublist = "\"RSF.PAGE.TIME.NaE\" \"RSF.REC.EUR=.NaE\"" ;
$out = "rvcheck.out" ;
$domain = `/usr/bin/domainname` ;
$am_network_params = "-network \"172.21.2.0\;225.18.2.100\;225.18.1.100\"" ;
$eu_network_params = "-network \"172.28.2.0\;225.18.2.100\;225.18.1.100\"" ;

if ( $domain =~m/^mdn_us.*/) {

    $rvsub_cmd = "$bin_dir/rvlisten -service 9100 $am_network_params $sublist" ;
    print "spawning [$rvsub_cmd]\n" ;

} elsif ( $domain =~m/^mdn_eu.*/) {

    $rvsub_cmd = "$bin_dir/rvlisten -service 9100 $eu_network_params $sublist" ;
    print "spawning [$rvsub_cmd]\n" ;

}
rollLog($out);

open(FH,"$rvsub_cmd|")||die "$!";

select STDOUT;

$|=1;

while (<FH>) {
  if ($_=~m/^Received: subject=RSF.PAGE.TIME.NaE.*/) {
    my $time = &getTime;
    my $o = sprintf "%-20s-%-100s\n", $time, $_ ;
    logPrint($out, $o) ;
  }
}

#####################################################################
sub logPrint {
#####################################################################
   my $file = shift;
   $doLogFiles && print $file @_;

   if (++$logSize{$file} >= $rollNumberLines) {
      rollLog($file);
   }
}

#####################################################################
sub rollLog {
#####################################################################
   my $file = shift;
   my $logDir="$logFileDirectory";
   if (! -d "$logDir") {mkdir($logDir, 0755);}
   my $f = $logDir . "/" . $file;

   my $n;
   for ($n=$rollNumberFiles-1; $n>1; $n--) {
       my $from = $f . "." . ($n-1);
       my $to   = $f . "." .  $n   ;
       rename($from, $to) if -e $from;
   }
   rename($f, $f . "." . 1) if -e $f;

   # Open does an implicit close if the file handle was already open.
   if (! open ($file, ">>$f")) {
      print STDOUT "ERROR: Can't open file $f: $!\n";
   }

   select $file;
   $|=1;

   $logSize{$file}=0;
}

#####################################################################
sub getTime {
#####################################################################
   my ($sec,$min,$hr)=localtime();
       return sprintf("%.2d:%.2d:%.2d",$hr,$min,$sec);
}
~