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

SNMP编程

开发平台:

C/C++

  1. #!/usr/local/bin/perl5
  2. # -*- mode: Perl -*-
  3. ##################################################################
  4. # This file controls the creation of all the MRTG config files from OV
  5. ##################################################################
  6. # Created by Laurie Gellatly <gellatly@one.net.au>
  7. # See newrtrov.txt for a description of what is performed
  8. #################################################################
  9. #
  10. # Distributed under the GNU copyleft
  11. #
  12. # $Id: ovupdate,v 1.1.1.1 2002/02/26 10:16:36 oetiker Exp $
  13. #
  14. use Socket;
  15. use strict;
  16. use ovmrtg;
  17. use vars '$DEBUG';
  18. my $DEBUG = 0;
  19. my $rundir = "/opt/mrtg/run";
  20. my $cronfile = "mrtgc";
  21. my $dnsfile = "ovmrtgc.csv";
  22. my($sysncfg,$cnt);
  23. my(@sysipnms,@sysips,@mrtgc,@sysnms); 
  24. sub main {
  25.    chdir $rundir;
  26.    $cnt = 0;
  27.    open (MRTGC,"<".$cronfile);
  28.    while(<MRTGC>){
  29.       chomp;
  30.       if (/mrtg (.*).cfg/){
  31.          $mrtgc[@mrtgc] = $1;
  32.       }
  33.    }
  34.    close (MRTGC);
  35.    @mrtgc = sort(@mrtgc);
  36.    for($cnt=0;$cnt<@mrtgc;++$cnt){
  37.       $sysncfg=$mrtgc[$cnt].".cfg";
  38.       open (MRTGC,"<".$sysncfg);
  39.       while(<MRTGC>){
  40.          if (/^Target/){
  41.             if (/^Target.*ovcvtfile ([0-9.]*)/){
  42.                $sysips[@sysips] = $1;
  43.                last;
  44.             }
  45.             if (/^Target.*@([0-9.]*)/){
  46.                $sysips[@sysips] = $1;
  47.                last;
  48.             }
  49.          }
  50.       }
  51.       close (MRTGC);
  52.    }
  53.    @sysipnms=ovsysnms @sysips;
  54.    open (DNSFILE,">".$dnsfile);
  55.    for ($cnt = 0; $cnt < @sysipnms ; $cnt++){
  56. #      $sysipnms[$cnt] =~ s/ /,/;
  57.       print DNSFILE "$sysipnms[$cnt]n";
  58.    }
  59.    close (DNSFILE);
  60. }  
  61. main;
  62. exit(0);