Backup XML Pfsense

Publicado por fabio brigido (última atualização em 22/02/2023)

[ Hits: 2.928 ]

Download back-pfsense.sh




Recentemente precisei efetuar backup do xml de configuração de vários PFsense de clientes. Após várias pesquisas e testes acabei chegando no script abaixo. Para funcionar basta criar um usuário no pfsense, no meu caso criei com nome backup e dei permissão apenas a download do arquivo xml. Altere as linhas USUARIO, SENHA e IP_PFSENSE e caso use uma porta específica basta adicionar :PORTA. Pode-se usar em vários PFSense ao mesmo tempo bastando apenas replicar as linhas indicadas.  Hospedo o script numa máquina Rocky Linux 9 e agendo no cron para executar uma vez ao dia. O Script apaga arquivos com mais de que 30 dias nas pastas automaticamente.

  



Esconder código-fonte

#!/bin/sh
###################################
# Arquivo : back-pfsense.sh   #####
# Autor: Fabio Brigido        #####
# Watts Soluções em TI        ##### 
# Versao: 1.0 15/02/2023      #####
# ——-|————+——————-+———————————#####
#                             ##### 
##### Variaveis de ambiente #######
###################################

LOG="/tmp/Backup XML pfSense `date +%d-%m-%Y`.txt"
XML="/opt/XML"


echo "Arquivos com mais de 30 dias que serão apagados no diretorio XML" >> $LOG
find $XML ! -mtime -30 | xargs rm -rf >> $LOG

# Pode-se fazer backup de quantos PFsense necessários apenas duplique as linhas abaixo e altere conforme necessário, alterando USUARIO, SENHA E IP_PFSENSE

echo "Backup pfSense" >> $LOG
# Adquirindo valores de cookie.
/usr/bin/curl -k -b cookies.txt -c cookies.txt --data 'login=Login&usernamefld=USUARIO&passwordfld=SENHA' https://ip_pfsense/diag_backup.php
# Download do arquivo de configuração.
/usr/bin/curl -k -b cookies.txt -o $XML/config-firewall-`date +%d-%m-%Y`.xml --data 'Submit=download&donotbackuprrd=no' https://ip_pfsense/diag_backup.php

# Envia email informativo
# Uso um arquivo com todos os destinatários que o mutt precisa enviar os logs.
echo 'Log de backup em anexo' | mutt -s 'Backup XMLs pfSense concluído com sucesso!' -a $LOG -- $(cat /opt/destinatarios | tr '\n' ' ')

Scripts recomendados

Backup de logs do sistema

Backup de uma base MYSQL específica.

Backup Máquina do Tempo com Rsync

Script de backup dos hosts do Zabbix

Script de Back Up, com limpeza de back ups antigos e e-mail com logs


  

Comentários
[1] Comentário enviado por maurixnovatrento em 14/05/2023 - 19:53h


muito bom.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

[2] Comentário enviado por iltoncesar em 29/09/2023 - 09:14h


obrigado, estava procurando vou testar e implementar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts