#!/usr/bin/perl  

#to use
print "#Usage:zcat -f /var/log/cups/error_log* | groovix-check-for-printer-communication-problems.pl\n";

#grep "print data" /var/log/cups/error_log | cut -f 2,5 -d" "

#D [20/Feb/2014:12:42:41 -0600] [Job 2886] Read 8192 bytes of print data...


#my $filename = '/var/log/cups/error_log';
#open(my $fh, '<', $filename)
#  or die "Could not open file '$filename' $!";

#while (my $row = <$fh>) {
while (<>) {
        $row=$_;
        if ($row=~/(\d\d)\/([^\/]+)\/(\d\d\d\d):(\d\d):(\d\d):(\d\d).*Job (\d+).* of print data/) {
                $oldhour=$hour;
                $oldmin=$min;
                $oldsec=$sec;
                $oldjob=$job;
                #print "$1 $2 $3 $4 $5 $6 $7 \n" ;
                $hour=$4 ;
                $min=$5 ;
                $sec=$6 ;
                $job=$7;
                if ( $job == $oldjob  &&  $min-$oldmin > 1 ) {
                        print "error  $1/$2/$3:$oldhour:$oldmin:$oldsec to  $hour:$min:$sec job $7\n";
                }
        }
#  print "$row\n";
}

