45 lines
1.5 KiB
Bash
Executable File
45 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# scripts/respaldar_configs.sh
|
|
# Sistema de respaldo de configuraciones críticas para srv-NS8
|
|
|
|
BACKUP_ROOT="/home/rmonla/Documentos/GitHub/dtic-DIIAA/backups/configs"
|
|
TIMESTAMP=$(date +%Y%m%d_%H%M)
|
|
LOG_FILE="/home/rmonla/Documentos/GitHub/dtic-DIIAA/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-DIIAA/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"
|
|
"/home/rmonla/Documentos/GitHub/dtic-DIIAA/servicios/homepage/.env"
|
|
)
|
|
|
|
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"
|