飞塔防火墙自动备份技巧

一、准备工作

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 

###纯原创###

原文地址:https://www.cnblogs.com/micronm/p/13618717.html