飞塔防火墙自动备份技巧
一、准备工作
1、备份服务器 CentOS 7
CentOS Linux release 7.8.2003 (Core) | 3.10.0-1127.el7.x86_64
2、飞塔防火墙的配置
#使用CLI 启用Fortigate SCP
config system global
set admin-scp enable
end
#启用接口的SSH访问
config system interface edit <interface name> set allowaccess ping https ssh end
3、CentOS备份服务器安装工具sshpass,这个工具可以支持scp操作时自动输入密码
yum install -y sshpass
二、CentOS备份服务器找一个合适的路径,全部文件和文件夹都在同一个路径下即可
1、创建存储备份文件的文件夹
mkdir -p /BackPath/bak
2、firewallbackup.sh 文件:
#!/bin/bash ######################################### #Function: Fortigate Sys_config Backup #Version: 1.0 ######################################### #Backup Account Passwords passwd="fg-login-password" #Temp Backup Path folderpath=$(date +%Y%m%d) #Generate Filename By Time filename=$(date +%Y%m%d-%H%M%S) #Gzip Filename bakfilename=$filename"-fw-config-backup" str="/BackPath/bak/"$bakfilename".tar.gz" str_path="./"$folderpath
cd /BackPath if [ ! -d $folderpath ]; then mkdir -p $folderpath else echo "Path Already Exists!" fi cd $folderpath while read line do hostip=$line tempfilename=$line"-"$filename"sysconfig" sshpass -p "$passwd" scp backup@$hostip:sys_config $tempfilename done < ../ip.txt
cd /BackPath
tar -czvf $str $folderpath
#Delete Temp File
if [ $? -eq 0 ]; then rm -rf $str_path
else
echo "Package Mission Fail!"
fi
3、创建ip.txt 文件,此文件与上面的firewallbackup.sh放在同一路径下,这里的ip地址为飞塔防火墙的登陆地址,一行为一台设备
#cat /BackPath/ip.txt
192.168.1.1
192.168.2.1
192.168.3.1
4、配置CentOS 7的计划任务 crontab -e,如示例是将备份的firewallbackup.sh和ip.txt放到 /BackPath 这个路径下,将操作结果的日志放到 /home路径下,每天11点和23点自动备份一次
00 11 * * * /usr/bin/sh /BackPath/firewallbackup.sh >> /home/backup-info.log 2>&1 00 23 * * * /usr/bin/sh /BackPath/firewallbackup.sh >> /home/backup-info.log 2>&1
以上,备份文件后,会进行打包和压缩
经测试,支持 FortiOS 5.x 6.x
###纯原创###