当有人在cisco router上下了保存config的指令后,利用cisco上snmp trap发送到信息到这条linux 主机上,然后在再利用snmp 下载config.
注:router上要开通
snmp-server community snmp-commm RW
snmp-server enable traps config
snmp-server host 192.168.55.250 public  config
---------------------------------------------------------------------------------
$cat /home/rodge/config_trap.pl
#!/usr/bin/perl
use strict;
use SNMP::Info::CiscoConfig;
my $traphost;
my $trap;
while ($trap=){                           
             foreach ($trap){
                  if (/^[0-9][0-9]?[0-9]?\.[0-9]?[0-9]?[0-9]\.[0-9]?[0-9]?[0-9]\.[0-9]?[0-9]?[0-9]/)
                             {   chomp $trap;    
                                 $traphost=$trap; 
                              }   
                            }
      if ($trap=~/SNMPv2-SMI::enterprises\.9\.9\.43\.1\.1\.6\.1/ && $trap=~/4$/ )
                             {  

                             my $ciscoconfig => new SNMP::Info(
                                 AutoSpecify =>1,
                                 Debug       =>1,
                                 DestHost    = >"$traphost",
                                 Community   =>'snmp-commm',
                                 Version     = >2,
                                                           )or die "Can't connect to DestHost.\n";
                     my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
      $year += 1900;
      $mon += 1;
#my $baogao=`/usr/bin/printf  "***** 系统备份错误通知 *****\n "$traphost" 错误:$ciscoconfig->error(1)" | /bin/mail -s "config bank error" rot\@twowin\.com\.cn`;
$ciscoconfig->copy_run_tftp('192.168.55.247',"$traphost-$year-$mon-$mday-$hour-$min-config") or die "$ciscoconfig->error(1)";                             }       
                    }