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端口号、第七列为客户名称

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

八、脚本文件

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

Hillstone 防火墙备份脚本相关推荐

  1. php mysql备份脚本_MySQL备份脚本,mysql脚本

    MySQL备份脚本,mysql脚本 mysqlbackup.php: php//备份mysql set_time_limit(0); date_default_timezone_set('PRC'); ...

  2. sql server 数据库模型 备份 恢复 总结 备份脚本

    事务日志是可以基于时间点恢复的,必须在full或bulk_logged模式下 Alter database [DBName] set recover bulk_logged , then the fo ...

  3. mysql+dump+选项_mysqldump 备份常用选项以及备份脚本

    1.备份命令: # mysqldump -u'root'  -p'12345' -h 127.0.0.1 \ -q --single-transaction -R -E \ --triggers -- ...

  4. oracle自动化,Oracle 自动化备份脚本

    备份脚本,基于linux,windows环境需要适当修改. 主脚本,会调用2,3步骤的rman.sql&status.sql $ more main.sh #set env ######### ...

  5. mysql备份psd文件没有数据_两套mysql备份脚本

    数据备份其重要性无需多言,再细想一步,我们至少需要两种备份:一种逻辑备份(mysqldump生成sql文件):一种物理备份(xtrabackup可很好完成).逻辑备份在出问题时能提供更细粒度的恢复和对 ...

  6. linux备份svn仓库脚本,Centos详细搭建svn以及备份脚本

    Centos6.1详细搭建svn独立服务器 1准备源码包:2个源码包一个是Subversion-1.6.20.tar.gz一个是Subversion-deps-1.6.20.tar.gz 源码安装目录 ...

  7. rman备份脚本shell版

    1.数据库全备到硬盘 [oracle@centos7 scripts]$ cat rman_backup.sh source /home/oracle/.bash_profile rman targe ...

  8. 【原创】rman 全库备份脚本

    rman 全库备份脚本 run { allocate channel d1 type disk; allocate channel d2 type disk; backup full database ...

  9. 企业Shell实战-MySQL分库分表备份脚本

    本文来自 http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.ht ...

最新文章

  1. Java反射机制深入详解
  2. 【试验】三个用于日常监控开发库与对应测试库的存储过程
  3. 重学java基础第六课:markdown语法
  4. 【VBS】IE11如何运行 Visual Basic Script 程序
  5. c语言写数码管,各位大神,如何用C语言实现在数码管上实现1234同时亮
  6. iOS-FMDB 使用
  7. 长城守卫 Beijing guards CERC 2004 LA3177 解题总结
  8. 获取参数(可以是中文)
  9. 【安卓8】文件的读写
  10. java私塾跟我学系列_Java私塾跟我学系列——JAVA篇 七、
  11. 最全面的web程序设计知识点总结
  12. 再次回归 IDEA 的部分修改记录...
  13. Unity 导出obj模型
  14. NYOJ 412 Same binary weight题解
  15. [Kafka][错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_101\lib\dt.jar;C:\Program]
  16. Java 将word文档转成html内容,输出到富文本
  17. 第二周例行报告(王伟东)
  18. Locale 和 LanguageTag
  19. 虚拟机与Java虚拟机
  20. Java基础面试题1:面向对象的思想

热门文章

  1. java实现计算机图形学中点画线算法
  2. HTML5与JavaScript
  3. 第三章:3.栈和队列 -- 栈与递归的实现
  4. 工具_好(zhuang)用(bi)的chrome插件
  5. jquery ajax json 数据的遍历
  6. POJ 3322 Bloxorz I(BFS)
  7. Web应用界面设计规范
  8. visual studio 重命名项目和程序集名称
  9. SQL Server 的分散式資料複寫技術
  10. oracle将查询结果声明为伪表,Oracle查询操作(增删改查,伪表,高级查询)实例讲解...