Backup XML Pfsense
Publicado por fabio brigido (última atualização em 22/02/2023)
[ Hits: 3.137 ]
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.
#!/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' ' ')
Script de backup MySQL [melhorado]
Backup Máquina do Tempo com Rsync
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (2)
Gestão de Ambiente em uma rede Linux (3)