make-mrtg.cfg.awk
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:3k
源码类别:

SNMP编程

开发平台:

C/C++

  1. BEGIN { 
  2. #
  3. # Global Variables Initialization
  4.  mrtg_var_WorkDir = "/home/httpd/html/mrtg/mrtgrq" # it will be inserted into MRTG config file
  5.  mrtg_var_IconDir = "/img/" # it will be inserted into MRTG config file and it will be used on HTML documents
  6.  mrtg_var_Interval = "10" # it will be inserted into MRTG config file
  7.  mrtg_executable = "/usr/local/mrtg/mrtg" # MRTG executable file with full path
  8.  mrtg_mrtgrq_cfg = "/usr/local/mrtg/contrib/mrtgrq/mrtg-awk.cfg" # MRTG config file for mrtgrq
  9.  mrtgrq_css_file = "http://your.web.server/css/mrtg/mrtg.css" # CSS File definition for HTML documents
  10.  mrtgrq_maintainer_email = "Your Name <your@email.address>" # Maintainer email address
  11. #
  12. # Start index number for array
  13.  lines = 1
  14.  startdate = systime()
  15.  dataexpirarii = startdate+(mrtg_var_Interval*60) # Expire date for HTML documents, +5 min (mrtg_var_Interval)
  16.  dataexp = strftime("%c %Z", dataexpirarii)
  17.  dataexpirarii = strftime("%d-%m-%Y %T %Z",dataexpirarii) 
  18. }
  19. {
  20.  if ( $1 !~ /^Try/ && $1 !~ /^Conn/ && $1 !~ /^Escape/){
  21.   array[lines, 1] = $1
  22.   array[lines, 3] = $3
  23.   array[lines, 4] = $4
  24.   lines++
  25.  }
  26. }
  27. END{
  28.  print ("WorkDir: " mrtg_var_WorkDir) > mrtg_mrtgrq_cfg
  29.  print ("IconDir: " mrtg_var_IconDir) > mrtg_mrtgrq_cfg
  30.  print ("Interval: " mrtg_var_Interval) > mrtg_mrtgrq_cfg
  31.  print "nn#----------------------------------------------------------------------------nn" > mrtg_mrtgrq_cfg
  32. #
  33. ##
  34. #
  35.  for ( k = 1; k < lines; k++ ){
  36. #  print array[k, 1]"t"array[k, 3]"t"array[k, 4] > mrtg_mrtgrq_cfg
  37.    print ("Target[" array[k, 1] "]: `echo | awk '{ print "" array[k, 3]"\n" array[k, 4]"\n..., last check on: " strftime("%c %Z", startdate) "\n" array[k, 1] "@cfrcta.ro\n"; exit }'`") > mrtg_mrtgrq_cfg
  38.    print ("Title[" array[k, 1] "]: Diskspace Quota Report For " array[k, 1] "@cfrcta.ro") > mrtg_mrtgrq_cfg
  39.    print ("MaxBytes[" array[k, 1] "]: " array[k, 4]) > mrtg_mrtgrq_cfg
  40.    print ("AbsMax[" array[k, 1] "]: " int(array[k, 4]*1.1)) > mrtg_mrtgrq_cfg
  41.    print ("AddHead[" array[k, 1] "]: <link rel="STYLESHEET" type="text/css" href="" mrtgrq_css_file "">") > mrtg_mrtgrq_cfg
  42.    print ("PageTop[" array[k, 1] "]: <H1 CLASS="h1"><A HREF="javascript:history.back();"><IMG SRC="" mrtg_var_IconDir "cubprev.gif" BORDER="0"></A> Diskspace Quota Report For &nbsp;&nbsp;&nbsp;<CODE><B>" array[k, 1] "@cfrcta.ro</B></CODE>") > mrtg_mrtgrq_cfg
  43.    print (" </H1>") > mrtg_mrtgrq_cfg
  44.    print (" <TABLE>") > mrtg_mrtgrq_cfg
  45.    print ("   <TR><TD CLASS="ptb">Service:</TD><TD CLASS="pth"><B>Diskspace Quota</B></TD></TR>") > mrtg_mrtgrq_cfg
  46.    print ("   <TR><TD CLASS="ptb">Maintainer:</TD><TD CLASS="pth"><B>" mrtgrq_maintainer_email "</B></TD></TR>") > mrtg_mrtgrq_cfg
  47.    print ("   <TR><TD CLASS="ptb">Last Checked On:</TD><TD CLASS="pth"><B>" strftime("%c %Z", startdate) "</B></TD></TR>") > mrtg_mrtgrq_cfg
  48.    print ("  </TABLE>") > mrtg_mrtgrq_cfg
  49.    print ("Supress[" array[k, 1] "]: y") > mrtg_mrtgrq_cfg
  50.    print ("LegendI[" array[k, 1] "]: used") > mrtg_mrtgrq_cfg
  51.    print ("LegendO[" array[k, 1] "]: ") > mrtg_mrtgrq_cfg
  52.    print ("Legend1[" array[k, 1] "]: used ") > mrtg_mrtgrq_cfg
  53.    print ("Legend2[" array[k, 1] "]:  ") > mrtg_mrtgrq_cfg
  54.    print ("YLegend[" array[k, 1] "]: used ") > mrtg_mrtgrq_cfg
  55.    print ("ShortLegend[" array[k, 1] "]: used ") > mrtg_mrtgrq_cfg
  56.    print ("Options[" array[k, 1] "]: gauge") > mrtg_mrtgrq_cfg
  57.    print ("nn#-------------------nn") > mrtg_mrtgrq_cfg
  58.  }
  59. #
  60. ##
  61. #
  62.  system((mrtg_executable " " mrtg_mrtgrq_cfg " 2> /dev/null"))
  63. #
  64. ##
  65. #
  66. }