#!/usr/bin/perl -w use strict; my $flag = 0; my $few = shift || 1; my $id; my $newline; my $partyId; my $userid; my $tid; my $infile; my @Takeraccounts = ('SCN','CX'); my $mail_dest = 'xxxxx@cx.com'; my %TIME; ( $TIME{SEC}, $TIME{MIN}, $TIME{HOUR}, $TIME{MDAY}, $TIME{MON}, $TIME{YEAR}, $TIME{WDAY}, $TIME{YDAY}, $TIME{ISDST} ) = localtime(time); my $OLD_MIN=$TIME{MIN}; my $OLD_HOUR=$TIME{HOUR}; my $cmd = "cat /raid/logs/`date +%H`"; my $out_file = "/home/resource/certchange.txt"; open FF, "$cmd |"; open (OUT, ">> $out_file") || die "Cannot open $out_file"; # temp file to which to write the formated output while () { my $line = $_; #chomp ($now_time); $line =~ s/\n/ /; if ( /Updating cert/ .. /,permissions/ ) { $newline = "$line"; if ( $line =~ /Updating cert.*updated by (\w+)/ ) { $id = $1; } if ( $newline =~ /UPDATE_STATE.*id:(\w+).*partyId:(\w+),permissions:/ ) { $userid = $1 ; $partyId = $2; foreach (@Takeraccounts) { if ($partyId =~ /$_/) { print OUT "Certificate cert Updated by $id for userid $userid, PartyID $partyId\n"; open ML, "| mutt -e\"set realname='Support'; set use_from=yes; set from='support\@cx.com'; set envelope_from=yes\" -s ' Alert! cert CHANGED' -i $out_file -- $mail_dest"; close ML; } } } } } close FF; close (OUT); unlink $out_file;