Backup XML Pfsense
Publicado por fabio brigido (última atualização em 22/02/2023)
[ Hits: 2.713 ]
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' ' ')
Criptografando arquivos para enviar pra sua nuvem
DriveTool.sh: um script para cópia rápida e segura de arquivos para unidades flash USB
Backup do PostgreSQL 8.3 e aviso por e-mail
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
estou com chromebook legalzinho. (2)
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta