74 lines
1.8 KiB
Bash
74 lines
1.8 KiB
Bash
#!/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 "=========================================="
|