Backup XML Pfsense

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

[ Hits: 2.791 ]

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

Script Backup com Log e envio por Email

sync_local - backup/restauração local

Restauração de backup Firebird a partir de um arquivo .7Z contendo um GBK

Limpeza dos dados do rConfig (ferramenta open-source de gerenciamento de configuração

Backup de banco de dados MySQL


  

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