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);
}
~