#!/bin/bash # Ottieni la directory dello script SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" LOG_DIR="/tmp/cloudpanel-backup-log" LOG_FILE="$LOG_DIR/backup_siti.log" BACKUP_SCRIPT="$SCRIPT_DIR/core.sh" # Crea la directory dei log se non esiste mkdir -p "$LOG_DIR" # Cancella il log precedente : > "$LOG_FILE" exec > >(tee -a "$LOG_FILE") 2>&1 echo "==========================================" echo "Backup Siti" echo "Data: $(date '+%d-%m-%Y %H:%M:%S')" echo "==========================================" echo "" # Scopri automaticamente i siti dai file .secret.* TOTAL=0 SUCCESS=0 FAILED=0 for SECRET_FILE in "$SCRIPT_DIR"/.secret.*; do # Ignora il file example [ "$(basename "$SECRET_FILE")" = ".secret.example" ] && continue [ ! -f "$SECRET_FILE" ] && continue # Estrai lo username dal nome del file (.secret.USERNAME) USER=$(basename "$SECRET_FILE" | sed 's/^\.secret\.//') # Leggi il DOMAIN dal file DOMAIN=$(grep -m1 '^DOMAIN=' "$SECRET_FILE" | cut -d'=' -f2-) if [ -z "$DOMAIN" ]; then echo "⚠️ DOMAIN mancante in $SECRET_FILE, saltato" FAILED=$((FAILED + 1)) TOTAL=$((TOTAL + 1)) echo "" continue fi TOTAL=$((TOTAL + 1)) echo "→ Backup $DOMAIN (utente: $USER)" "$BACKUP_SCRIPT" "$USER" "$DOMAIN" EXIT_CODE=$? if [ $EXIT_CODE -ne 0 ]; then echo "❌ ERRORE backup $DOMAIN (exit code $EXIT_CODE)" FAILED=$((FAILED + 1)) else echo "✅ Backup completato $DOMAIN" SUCCESS=$((SUCCESS + 1)) fi echo "" done if [ $TOTAL -eq 0 ]; then echo "Nessun file .secret.* trovato in $SCRIPT_DIR" echo "Esegui ./init.sh per configurare un sito" fi echo "==========================================" echo "Backup terminato" echo "Totale: $TOTAL | Riusciti: $SUCCESS | Falliti: $FAILED" echo "=========================================="