gwmon-msgdb-size.awk
Generated on Tue Dec 05 17:39:05 Eastern Standard Time 2006 from gwmon-msgdb-size.awk
# Program : gwmon-msgdb-size.awk
# Purpose : Parse through DIR of message databases, flag large files
# Date : 15 February 2005
# Author : Bob Jonkman
# Variable : THRESHOLD defined on command line
BEGIN { IGNORECASE = 1 ; # some directory results are in lower case
QUOTE = "\"" ;
Mebi = 1024 * 1024 ;
print("Size,MessageDB,Agent,Size in MiBytes,Server") ;
vcount = 0 ;
}
/Agent=/ { agent = $2 ;
}
/Volume in drive/ { link = $4 ;
}
/MSG[0-9]/ { # print("##### DEBUG #####" agent,$0) ;
size = $3 / Mebi ;
msgdb = $4 ;
count++ ;
# print("##### DEBUG #####" agent,$0) ;
printf("%18i,%s,%s,%.1f,%s\n", $3 , msgdb, agent, size, link ) | "sort /R" ;
if(size > THRESHOLD)
{ vcount++ ;
vtext[vcount,"p"] = agent ;
vtext[vcount,"m"] = msgdb ;
vtext[vcount,"s"] = size ;
}
}
END { print("=====") ;
print("Files," , count , ",,," );
print("Threshold,,,", THRESHOLD , "," );
print("Violations," , vcount , ",,," );
# if(vcount)
# { print("[CONFIG]") > "gwmon-msgdb-size-alert.wqm" ;
# print("SMTP=w01431.corp.example.com") >> "gwmon-msgdb-size-alert.wqm" ;
# print("PORT=25") >> "gwmon-msgdb-size-alert.wqm" ;
# print("TIMEOUT=30000") >> "gwmon-msgdb-size-alert.wqm" ;
# print("UserID=gwmon-msgdb-size") >> "gwmon-msgdb-size-alert.wqm" ;
# print("ENCODETYPE=Mime") >> "gwmon-msgdb-size-alert.wqm" ;
# print("SUBTYPE=Plain") >> "gwmon-msgdb-size-alert.wqm" ;
# print("FromAddress=gwmon@w01431.corp.example.com") >> "gwmon-msgdb-size-alert.wqm" ;
# print("FromName=GWMon MessageDB Size") >> "gwmon-msgdb-size-alert.wqm" ;
# print("ReplyTo=gwmon@sobac.com") >> "gwmon-msgdb-size-alert.wqm" ;
# print("ProgramID=WTS QMail - www.webertechservices.com") >> "gwmon-msgdb-size-alert.wqm" ;
# print("[MESSAGETO]") >> "gwmon-msgdb-size-alert.wqm" ;
# print("0=gwmon@w01431.corp.example.com") >> "gwmon-msgdb-size-alert.wqm" ;
# print("Lines=1") >> "gwmon-msgdb-size-alert.wqm" ;
# print("[MESSAGE]") >> "gwmon-msgdb-size-alert.wqm" ;
# print("SUBJECT=MSG DB exceeds " THRESHOLD " MiBytes = " vcount) >> "gwmon-msgdb-size-alert.wqm" ;
# print("DATE=" strftime("%a, %e %b %Y %H:%M:%S %z")) >> "gwmon-msgdb-size-alert.wqm" ;
# print("[MESSAGEBODY]") >> "gwmon-msgdb-size-alert.wqm" ;
#
# for(i=1; i <= vcount; i++)
# printf("%i=%6s %8s %7.1f MiBytes\n", i-1, vtext[i,"p"], vtext[i,"m"], vtext[i,"s"]) >> "gwmon-msgdb-size-alert.wqm" ;
#
# print(vcount "=DATE=" strftime("%a, %e %b %Y %H:%M:%S %z")) >> "gwmon-msgdb-size-alert.wqm" ;
# print("Lines=" vcount+1) >> "gwmon-msgdb-size-alert.wqm" ;
# print("[MESSAGEATTACH]") >> "gwmon-msgdb-size-alert.wqm" ;
# print("Lines=0") >> "gwmon-msgdb-size-alert.wqm" ;
# print("\n") >> "gwmon-msgdb-size-alert.wqm" ;
# }
}
# EOF: gwmon-msgdb-size.awk
1 files processed.