#!/bin/bash # scripts/respaldar_configs.sh # Sistema de respaldo de configuraciones críticas para srv-NS8 BACKUP_ROOT="/home/rmonla/Documentos/GitHub/dtic-srv-NS8/backups/configs" TIMESTAMP=$(date +%Y%m%d_%H%M) LOG_FILE="/home/rmonla/Documentos/GitHub/dtic-srv-NS8/logs/backup_${TIMESTAMP}.log" RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' mkdir -p "$BACKUP_ROOT" mkdir -p "/home/rmonla/Documentos/GitHub/dtic-srv-NS8/logs" echo -e "${GREEN}Iniciando respaldo de configuraciones...${NC}" | tee -a "$LOG_FILE" # Lista de directorios a respaldar PATHS=( "/etc/anydesk" "/home/rmonla/.anydesk" "/etc/rustdesk" "/home/rmonla/.config/rustdesk" "/var/lib/tailscale" "/etc/nginx" ) for SRC in "${PATHS[@]}"; do if [ -d "$SRC" ] || [ -f "$SRC" ]; then echo "Respaldando $SRC..." | tee -a "$LOG_FILE" # Usamos rsync para mantener la estructura y permisos (requiere sudo para rutas root) DEST="${BACKUP_ROOT}${SRC}" mkdir -p "$(dirname "$DEST")" sudo rsync -avR --delete "$SRC" "$BACKUP_ROOT/" >> "$LOG_FILE" 2>&1 else echo -e "${RED}Advertencia: No se encontró $SRC${NC}" | tee -a "$LOG_FILE" fi done # Generar un comprimido del respaldo actual tar -czf "${BACKUP_ROOT}/../configs_backup_${TIMESTAMP}.tar.gz" -C "$BACKUP_ROOT" . echo -e "${GREEN}Respaldo completado en ${BACKUP_ROOT}/../configs_backup_${TIMESTAMP}.tar.gz${NC}" | tee -a "$LOG_FILE"