[請益]怎麼用SCP備份多台設備資料並容錯?
我想要利用perl 對遠端設備作設定備份的動作
現在遇到一個問題,在執行foreach時
就是當有一個ip不存在或帳號密碼錯誤程式就會中斷,請問是甚麼問題或者說可以怎麼改
寫?
可以在程式執行時略過錯誤的發生並生成錯誤訊息嗎?
程式執行會發生如下的錯誤訊息:
-----------------------------------------------------------------------------------
12.17.1.73
192.168.40.1
scp timed out while trying to connect to 192.83.167.253 at config_backup line
25
------------------------------------------------------------------------------------
12.17.1.73 這個ip存在且帳號密碼正確所以檔案有拉過來
192.168.40.1 這個ip不存在所以會不成功
但是後面的ip就不會執行scp的動作了
程式碼如下
----------------------------------------------------------------
1
2 #!/usr/bin/perl -w
3
4 use warnings;
5 #use strict;
6 use Net::SCP::Expect;
7 $user="asd";
8 $password="1qaz4rfgt";
9 my $date = `date +%Y%m%d`;
10 chomp($date);
11 mkdir ("/home/fortigate/".$date);
12
13 @firewallips = ('12.17.1.73',
14 '192.168.40.1',
15 '10.11.20.1',
16 '172.16.1.1',
17 '172.16.10.1',
18 );
19
20 foreach $ip (@firewallips) {
21 print "$ip\n";
22
23 my $scpe =
Net::SCP::Expect->new(auto_yes=>1,port=>22,verbose=>1,no_check=>1);
24 $scpe->login($user, $password);
25 $scpe->scp("$ip:sys_config","/home/fortigate/" . $date .
"/fortigate-$ip\.conf");
26 }
---------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.240.195.5
→
06/21 20:15, , 1F
06/21 20:15, 1F
推
08/17 09:05, , 2F
08/17 09:05, 2F
→
08/17 09:06, , 3F
08/17 09:06, 3F
Perl 近期熱門文章
PTT數位生活區 即時熱門文章