depura_ficheros.sh
depura_ficheros.sh
depura_ficheros.sh
Este script elimina backups antiguos de varias carpetas destino de pfSense.
Invocacion
Se llama desde:
1
/ruta/origen/scripts/pfsense/pfsense_backups_auto.sh
Flujo
- Define tres rutas destino de backups.
- Ejecuta
finden cada destino. - Elimina ficheros con mas de 15 dias.
- Registra errores con codigos de salida diferentes por carpeta.
Version saneada
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env bash
set -euo pipefail
LOG="/var/log/depura_pfsense_$(date +%Y%m%d).log"
DIAS_RETENCION="${DIAS_RETENCION:-15}"
destinos=(
"/ruta/destino/backups/pfsense/fw1"
"/ruta/destino/backups/pfsense/fw2"
"/ruta/destino/backups/pfsense/fw3"
)
for destino in "${destinos[@]}"; do
printf '[%s] Depurando %s\n' "$(date --iso-8601=seconds)" "$destino" >> "$LOG"
find "$destino" -type f -name '*.xml' -mtime +"$DIAS_RETENCION" -print -delete >> "$LOG" 2>&1
done
Riesgos y mejoras
- Añadir
-type fpara evitar borrar directorios. - Registrar con
-printlo eliminado. - Entrecomillar variables.
- Permitir
DIAS_RETENCIONconfigurable. - Probar primero con
find ... -printsin-delete.
This post is licensed under CC BY 4.0 by the author.