​​Hillstone 防火墙备份脚本​​

举报
kaliarch 发表于 2022/03/12 10:09:53 2022/03/12
【摘要】 ​​Hillstone 防火墙备份脚本​​    对于公司有多台防火墙备份的需求,为减轻工作量对多台物理防火墙进行自动备份(不限于防火墙,支持路由交换与安全等其他产品),本篇文章使用Linux系统shell脚本编写Hillstone自动化备份防火墙,定时归档,可配合自动上传脚本,将备份文件上传至阿里OSS,实现永久高可用备份,如果异常发送邮件/微信/短信等通知用户检查。​脚本文件使用说明:​...

Hillstone 防火墙备份脚本

    对于公司有多台防火墙备份的需求,为减轻工作量对多台物理防火墙进行自动备份(不限于防火墙,支持路由交换与安全等其他产品),本篇文章使用Linux系统shell脚本编写Hillstone自动化备份防火墙,定时归档,可配合自动上传脚本,将备份文件上传至阿里OSS,实现永久高可用备份,如果异常发送邮件/微信/短信等通知用户检查。

脚本文件使用说明:

一、安装expect

yum install expect lrzsz -y


二、安装vsftp

2.1创建目录并上传文件

mkdir scripts

上传脚本到/scripts目录内,并赋予可执行权限


2.2 运行脚本bash Vsftpd.sh并查看ftp信息

​​

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

三、运行备份脚本填写相关信息

FTP服务器IP地址

FTP用户名

FTP密码

接受邮件人邮箱

四、执行脚本查看邮箱

五、定时任务

如下如下定期执行脚本,修改backup.sh



将这些变量写入back.sh



制作定时任务即可


六、查看结果


七、脚本配置文件

​​第一列为数据中心、第二列为机房、第三列为防火墙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:xuel@anchnet.com
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 "xuel@51idc.com" -s "$NAME 防火墙备份_成功!" $MAIL
else
    /bin/echo "BACKUP $IP SUCCESS,BACKUP_FILE $backup_dir/$ADDRESS/$NAME/$FILENAME"_"$DATE" | /bin/mail -r "xuel@51idc.com" -s "$NAME 防火墙备份_失败!" $MAIL
fi
done

back_conf

XA    西安    172.17.1.10    hillstone    hillstone    22    username


本片为自动备份hillstone防火墙脚本,可以配合上传至OSS,与监控告警脚本来实现一整套流程,其他脚本见我其他博客。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。