Advertisement
Rnery

Helping a newbie..

Oct 16th, 2023 (edited)
1,290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.36 KB | Source Code | 0 0
  1. #!/usr/bin/env bash
  2. ###############################################
  3. # Script para backups de equipamentos Ubiquiti
  4. # Criado por Sergio Lenaz
  5. ###############################################
  6.  
  7. # Diretórios de origem e destino
  8. origem="/home/listaips.txt"
  9. destino="/home/paineis/$(date +%d-%m-%Y)"
  10. log="/home/logs/ubiquiti.log"
  11.  
  12. # Cria o diretório de destino
  13. mkdir -p "$destino"
  14.  
  15. # Registra a hora de início no log
  16. INICIO=$(date +%d-%m-%Y_%H:%M:%S)
  17. echo "#####*************** Backup iniciado em $INICIO ***************#####" >> "$log"
  18.  
  19. # Loop para fazer backup com base na lista de IPs
  20. while IFS=',' read -r nome ip usuario senha; do
  21.     # Tenta fazer o backup e registra o resultado no log
  22.     if sshpass -p "$senha" ssh "$usuario@$ip" -o StrictHostKeyChecking=no "cat /tmp/system.cfg" > "$destino/$nome-$ip-backup-$(date +%d-%m-%Y).cfg" 2>/dev/null; then
  23.         FIM=$(date +%d-%m-%Y_%H:%M:%S)
  24.         echo "O backup de $nome-$ip foi efetuado com sucesso em $FIM" >> "$log"
  25.     else
  26.         echo "Ocorreu um erro ao realizar o backup de $nome-$ip em $(date +%d-%m-%Y_%H:%M:%S)" >> "$log"
  27.     fi
  28. done < "$origem"
  29.  
  30. # Deleta os arquivos que estão com tamanho 0k (backups que geraram erros)
  31. find "$destino" -type f -size 0 -name '*.cfg' -exec rm {} \;
  32.  
  33. # Deleta os arquivos criados há mais de 7 dias
  34. find "$destino" -type f -ctime +7 -name '*.cfg' -exec rm {} \;
  35.  
Tags: BASH
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement