Code Files

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.