DELLのL3スイッチ、PowerConnect6248のコンフィグバックアップを取るよ!
最初はNet::Telnet::Ciscoモジュールでいけるかなと思ったけどちょっとムリだった。
PerlでCiscoスイッチを操作 - IT 東京 楽しいと思うこと
Promptいじればいけそうなんだけど・・・
がんばってNet::Telnet::PowerConnect作るのもちょっと面倒なので
今回はNet::Telnet使います。
こんな感じで取れます
[mikeda@cent ~]$ perl get_pc_config.pl 192.168.1.2 mikeda mikepass configure vlan database vlan 100-102 exit stack member 1 2 member 2 2 exit ip address 192.168.0.100 255.255.255.0 ip routing ...
cron仕込んでテキトウなファイルに保存しましょう。
ソースコード
#!/usr/bin/perl use strict; use warnings; use Net::Telnet; #$Net::Telnet::DEBUG = 1; my $prompt = '/User:$|Password:$|.*[>#]$|--More--/'; @ARGV ==3 or die "$0 host user pass"; my ($host, $user, $pass) = @ARGV; my $t = new Net::Telnet(Prompt => $prompt); $t->open($host); $t->cmd($user); $t->cmd($pass); $t->cmd("enable"); my @result = $t->cmd("show running-config"); while($t->last_prompt =~ /--More--/){ push @result ,$t->cmd(String => " ", Output_record_separator => ""); } $t->close; print grep !/^\s*$/,@result;
enableパスワードの設定等々によってちょっといじる必要があるかな。
前準備はこれだけ
[root@cent ~]# cpan Net::Telnet