mrtgidx
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:2k
源码类别:

SNMP编程

开发平台:

C/C++

  1. #!/usr/tardis/local/gnu/bin/perl5
  2. # mrtgidx - generate html index page based on mrtg.cfg
  3. #
  4. # Syntax: mrtgidx <pathname-of-mrtg.cfg> 
  5. #
  6. # v0.1 1996-11 by Axel Dunkel (ad@Dunkel.de)
  7. #
  8. # --- start of configuration section ---
  9. $include_inactive = 1; # include interfaces that are commented out
  10. # --- eof of configuration section ---
  11. if ($#ARGV < 0) {
  12.   print "mrtgidx: generate HTML index page based on MRTG config filen";
  13.   print "nUsage: mrtgidx <pathname-of-mrtg.cfg-file>n";
  14.   exit 2;
  15. }
  16. while ($line = <>) {
  17.    chop $line;
  18.    if ($line =~ /^(#*).*Title[(S+)]:s*([^:]*):s*(.*)$/) {
  19.   $cmt  = $1;
  20.   $itf = $2;
  21.   $title = $3;
  22.   $title_if = $4;
  23.       if ($cmt ne "#" || $include_inactive) {
  24.     if ($itf =~ /(.*).([0-9]+)/) {
  25.   $router{$1,$2} = $title_if;
  26.   $router_f{$1,$2} = $itf;
  27.   $router_n{$1} = $title;
  28.           $active{$1,$2} = $cmt;
  29.     } else {
  30.   print STDERR "Warning: can not interpret : $itfn";
  31. }
  32.       }
  33.    } 
  34. }
  35. # print HTML header
  36. print "<HTML><HEAD><TITLE>MRTG Index</TITLE></HEAD>n";
  37. print "<BODY>n";
  38. print "<H1>MRTG - Index</H1>n";
  39. print "<FONT SIZE=-2>generated by mrtgidx by <A HREF="mailto:ad@dunkel.de">Axel Dunkel</A></FONT>n";
  40. print "<UL>n";
  41. foreach $r (sort keys %router_n) {
  42.   print "<P><LI><H2>$r</H2><UL>n";
  43.   foreach $i (0..200) {
  44.     if (defined $router{$r,$i}) {
  45.   print "<LI>";
  46.       if ($active{$r,$i} ne "#") { print "<A HREF="$router_f{$r,$i}.html">"; }
  47.   print "$router{$r,$i}";
  48.       if ($active{$r,$i} ne "#") { print "</a>n"; }
  49.     }
  50.   }
  51.   print "</UL>n";
  52. }
  53. print "</UL></BODY></HTML>n";