Hillstone 防火牆備份腳本

Hillstone 防火牆備份腳本

    對於公司有多臺防火牆備份的需求,爲減輕工作量對多臺物理防火牆進行自動備份(不限於防火牆,支持路由交換與安全等其他產品),本篇文章使用Linux系統shell腳本編寫Hillstone自動化備份防火牆,定時歸檔,可配合自動上傳腳本,將備份文件上傳至阿里OSS,實現永久高可用備份,如果異常發送郵件/微信/短信等通知用戶檢查。

腳本文件使用說明:

一、安裝expect

yum install expect lrzsz -y

二、安裝vsftp

2.1創建目錄並上傳文件

mkdir scripts

上傳腳本到/scripts目錄內,並賦予可執行權限

wKiom1mB2YKhiIcjAAA5EsRLFqg464.png

2.2 運行腳本bash Vsftpd.sh並查看ftp信息

wKioL1mB2cHyb2zjAABiMJmadcY622.png

查看ftp相關信息,文件在:/root/ftppasswd.txt

三、運行備份腳本填寫相關信息

wKiom1mB2hqRBl2LAAC6FVeoFu4720.png

FTP服務器IP地址

FTP用戶名

FTP密碼

接受郵件人郵箱

四、執行腳本查看郵箱

wKiom1mB29bROyCaAAEKZlJsjGs106.png

五、定時任務

如下如下定期執行腳本,修改backup.sh

wKiom1mB3Dqg2etSAACaraSnM8U320.png

將這些變量寫入back.sh

wKioL1mB3Gmi36ihAABDwMYv_kk078.png

製作定時任務即可

wKioL1mB3KbTFC6hAABeBcE0F5U201.png

六、查看結果

wKioL1mB3SDQJ9ZrAAJe1dncZus921.png

七、腳本配置文件

wKioL1mB3nuSTAuVAAB1KW2eYBc092.png第一列爲數據中心、第二列爲機房、第三列爲防火牆IP、第四列爲防火牆用戶名、第五列爲防火牆密碼、第六列爲防火牆ssh端口號、第七列爲客戶名稱

每次只需更新此配置文件即可。

八、腳本文件

github地址


back.sh

#!/usr/bin/expect -f
set ip [ lindex $argv 0 ]
set user [ lindex $argv 1 ]
set password [ lindex $argv 2 ]
set port [ lindex $argv 3 ]
set host [ lindex $argv 4 ]
set ftpip [ lindex $argv 5 ]
set ftpuser [ lindex $argv 6 ]
set ftppwd [ lindex $argv 7 ]
spawn ssh -p $port $user@$ip
expect {
    "(yes/no)?"
        {
            send "yes\r"
            expect "password:"
            send "$password\r"
        }
        "password:"
    {
    send "$password\r"
    }
}
expect "*#"
send "export configuration startup to ftp server $ftpip user $ftpuser password $ftppwd $host\r"
expect "Export ok"
send "exit\r"
expect eof

backup.sh

#!/bin/bash
#mail:[email protected]
read -p "Please input ftp server ipaddress:" FTPIP
read -p "Please input ftp username:" FTPUSER
read -p "Please input ftp password:" FTPPWD
read -p "Please input Receive mailbox:" MAIL
config_file=/scripts/back_conf
backup_dir=/FTP
DATE=$(date +%Y%m%d)
if [ ! -d $backup_dir ];then
    /bin/mkdir $backup_dir
fi
cat $config_file | while read ADDRESS NAME IP USER PASSWD PORT FILENAME;do
if [ ! -d $backup_dir/$ADDRESS/$NAME ];then
    /bin/mkdir -p $backup_dir/$ADDRESS/$NAME
fi
./back.sh $IP $USER $PASSWD $PORT $FILENAME $FTPIP $FTPUSER $FTPPWD &>/dev/null
if [ $? -eq 0 ];then
    /bin/mv $backup_dir/$FILENAME $backup_dir/$ADDRESS/$NAME/$FILENAME"_"$DATE 
    /bin/echo "BACKUP $IP SUCCESS,BACKUP_FILE $backup_dir/$ADDRESS/$NAME/$FILENAME"_"$DATE" | /bin/mail -r "[email protected]" -s "$NAME 防火牆備份_成功!" $MAIL
else
    /bin/echo "BACKUP $IP SUCCESS,BACKUP_FILE $backup_dir/$ADDRESS/$NAME/$FILENAME"_"$DATE" | /bin/mail -r "[email protected]" -s "$NAME 防火牆備份_失敗!" $MAIL
fi
done

back_conf

XA    西安    172.17.1.10    hillstone    hillstone    22    username


本片爲自動備份hillstone防火牆腳本,可以配合上傳至OSS,與監控告警腳本來實現一整套流程,其他腳本見我其他博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章