热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hillstone防火墙备份脚本

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

对于公司有多台防火墙备份的需求,为减轻工作量对多台物理防火墙进行自动备份(不限于防火墙,支持路由交换与安全等其他产品),本篇文章使用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端口号、第七列为客户名称

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

八、脚本文件

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,与监控告警脚本来实现一整套流程。

:http://www.linuxidc.com/Linux/2017-09/147141.htm


推荐阅读
  • linux 命令——screen
    最近遇到一个东西aria2,这个玩意,这个是啥呢?Aria2是一个轻量级Linux下载软件,支持HTTPHTTPS,FTP,SFTP,BitTorrent和磁力链接(官方版),公司 ... [详细]
  • 用lvm+vmware+kickstart实现系统自动安装和快照安装
    由于我的机子是32位,装不了64位系统,所以无法使用kvm,只能用vmware了,可是vmware安装使用自带的autoinst.iso实现自动安装,无法实现我的需求,经过研究我使用kic ... [详细]
  • PHP程序员玩转Linux系列 搭建FTP代码开发环境
    PHP程序员玩转Linux系列搭建FTP代码开发环境-PHP程序员玩转Linux系列文章:有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • Pycharm配置文档教程
    1桌面找到快捷方式双击打开234需要自行注册5看自己喜欢选择喜欢白色选择左边喜欢黑色选择右边67可选如果你对Markdown感兴趣;或者会用就点击install不敢兴趣调到步骤88 ... [详细]
  • 明明白白用Qt5.10编写FTP客户端
    使用Linux自带工具实现定时下载FTP文件(文末)前言自从Qt5删除了QFtp模块后,就没有了可方便使用的FTP类。根据官方的说法&# ... [详细]
author-avatar
小花姐姐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有