#!/usr/bin/perl -w # ciscoconf.pl use strict; use Net::Telnet::Cisco; my $pass = ''; # Cisco vty password my $timeout = '60'; # seconds of no response till Net::Telnet::Cisco gives up waiting my $infile = "/dir/subdir/ciscoconf.in" # one-per-line text-file listing of Cisco devices to connect to my $logfile = "/dir/subdir/ciscoconf.log" # logfile of script results print "starting Cisco device sessions\n" # print to console, not log open (IN, "$infile") or die "Error opening $infile: $!\n" open (LOG,">$logfile") or die "Error opening $logfile: $!\n" # repeat these actions for each Cisco device at command prompt (or else in ciscoconf.in) # control struct(s) begin here? print LOG "#############################################################\n" my $cs=Net::Telnet::Cisco->new(Host=>IN, timeout=>$timeout,); $cs->login('',$pass); # vty login $cs->errmode(sub{print LOG @_, "\n"}); # error handler: print $cs->errmsg, "\n" print $cs->last_prompt, "\n" # print Cisco device prompt to console print LOG $cs->last_prompt, "\n" # print Cisco device prompt to log $cs->close; # exit Cisco session print LOG "#############################################################\n" # control struct(s) end here? # end actions for each Cisco device close (IN) or die "Error closng $infile: $!\n" close (LOG) or die "Error closing $logfile: $!\n" print "finished Cisco device sessions\n" # print to console, not log # END