Add system parameter + fix
This commit is contained in:
31
backup.sh
31
backup.sh
@@ -2,17 +2,18 @@
|
||||
|
||||
# Script di backup per database MySQL e cartella htdocs
|
||||
# Le credenziali del database devono essere nel file .secret
|
||||
# Uso: ./backup.sh dominio
|
||||
# Uso: ./backup.sh user dominio
|
||||
|
||||
# Verifica parametro dominio
|
||||
if [ -z "$1" ]; then
|
||||
echo "Errore: Specificare il dominio come parametro"
|
||||
echo "Uso: $0 dominio"
|
||||
echo "Esempio: $0 esempio.com"
|
||||
# Verifica parametri user e dominio
|
||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||
echo "Errore: Specificare user e dominio come parametri"
|
||||
echo "Uso: $0 user dominio"
|
||||
echo "Esempio: $0 utente esempio.com"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DOMAIN="$1"
|
||||
USER="$1"
|
||||
DOMAIN="$2"
|
||||
|
||||
# Ottieni la directory dello script
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
@@ -69,7 +70,7 @@ transfer_to_remote() {
|
||||
|
||||
if [ $? -ne 0 ] || [ -z "$SERVER_CHECK" ]; then
|
||||
echo "⚠️ Server remoto non raggiungibile"
|
||||
send_gotify_notification "⚠️ Backup Locale" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato\nServer remoto non disponibile\nFile mantenuto in locale: backup_${DOMAIN}_$TIMESTAMP.zip" 6
|
||||
send_gotify_notification "⚠️ [ $DOMAIN ] Backup Locale" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato\nServer remoto non disponibile\nFile mantenuto in locale: backup_${DOMAIN}_$TIMESTAMP.zip" 6
|
||||
return 2
|
||||
fi
|
||||
|
||||
@@ -83,7 +84,7 @@ transfer_to_remote() {
|
||||
echo ""
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Errore durante il trasferimento del backup"
|
||||
send_gotify_notification "⚠️ Backup Parziale" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato ma trasferimento remoto fallito" 6
|
||||
send_gotify_notification "⚠️ [ $DOMAIN ] Backup Parziale" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato ma trasferimento remoto fallito" 6
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -95,7 +96,7 @@ transfer_to_remote() {
|
||||
else
|
||||
echo "Errore: Risposta server non valida"
|
||||
echo "Risposta: $RESPONSE"
|
||||
send_gotify_notification "⚠️ Backup Parziale" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato ma upload fallito" 6
|
||||
send_gotify_notification "⚠️ [ $DOMAIN ] Backup Parziale" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato ma upload fallito" 6
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
@@ -104,7 +105,7 @@ transfer_to_remote() {
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
DATE_FORMAT=$(date +"%d/%m/%Y")
|
||||
BACKUP_DIR="$SCRIPT_DIR/backup_${DOMAIN}_$TIMESTAMP"
|
||||
SITE_DIR="/home/$(whoami)/htdocs/${DOMAIN}"
|
||||
SITE_DIR="/home/${USER}/htdocs/${DOMAIN}"
|
||||
DB_DUMP_FILE="$BACKUP_DIR/database_$TIMESTAMP.sql"
|
||||
ZIP_FILE="$SCRIPT_DIR/backup_${DOMAIN}_$TIMESTAMP.zip"
|
||||
|
||||
@@ -118,7 +119,7 @@ mysqldump --no-tablespaces -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" >
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Errore durante il dump del database"
|
||||
send_gotify_notification "❌ Backup Fallito" "Data: $DATE_FORMAT\nErrore durante il dump del database $DB_NAME per $DOMAIN" 8
|
||||
send_gotify_notification "❌ [ $DOMAIN ] Backup Fallito" "Data: $DATE_FORMAT\nErrore durante il dump del database $DB_NAME per $DOMAIN" 8
|
||||
rm -rf "$BACKUP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
@@ -136,7 +137,7 @@ else
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Errore durante la copia della cartella del sito"
|
||||
send_gotify_notification "❌ Backup Fallito" "Data: $DATE_FORMAT\nErrore durante la copia della cartella $SITE_DIR" 8
|
||||
send_gotify_notification "❌ [ $DOMAIN ] Backup Fallito" "Data: $DATE_FORMAT\nErrore durante la copia della cartella $SITE_DIR" 8
|
||||
rm -rf "$BACKUP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
@@ -151,7 +152,7 @@ zip -r "$ZIP_FILE" "backup_${DOMAIN}_$TIMESTAMP"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Errore durante la creazione dell'archivio zip"
|
||||
send_gotify_notification "❌ Backup Fallito" "Data: $DATE_FORMAT\nErrore durante la creazione dell'archivio zip per $DOMAIN" 8
|
||||
send_gotify_notification "❌ [ $DOMAIN ] Backup Fallito" "Data: $DATE_FORMAT\nErrore durante la creazione dell'archivio zip per $DOMAIN" 8
|
||||
rm -rf "$BACKUP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
@@ -180,7 +181,7 @@ if [ $TRANSFER_STATUS -eq 0 ]; then
|
||||
echo "Rimozione file locale..."
|
||||
rm -f "$ZIP_FILE"
|
||||
echo "File zip rimosso dal locale, disponibile solo sul server remoto"
|
||||
send_gotify_notification "✅ Backup Completato" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato con successo\nFile: backup_${DOMAIN}_$TIMESTAMP.zip\nDimensione: $BACKUP_SIZE\nCaricato sul server remoto" 5
|
||||
send_gotify_notification "✅ [ $DOMAIN ] Backup Completato" "Data: $DATE_FORMAT\nBackup di $DOMAIN completato con successo\nFile: backup_${DOMAIN}_$TIMESTAMP.zip\nDimensione: $BACKUP_SIZE\nCaricato sul server remoto" 5
|
||||
elif [ $TRANSFER_STATUS -eq 2 ]; then
|
||||
# Server non disponibile - mantieni solo l'ultima copia locale
|
||||
echo "Pulizia backup precedenti..."
|
||||
|
||||
Reference in New Issue
Block a user