Files
Gestion_sondes/backup_mysql.sh
2025-07-23 10:46:27 +02:00

35 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Variables
DATE=$(date +'%Y-%m-%d_%H-%M')
BACKUP_DIR="/home/debian/backup"
BACKUP_FILE="$BACKUP_DIR/mysql_backup_$DATE.sql"
NAS_HOST="mon-nas" # défini dans /home/debian/.ssh/config
MYSQL_USER="root"
MYSQL_PASSWORD="$%kavYKeb1EY3Vl136O&o"
NAS_DIR="/volume1/nfs/vps_gra" # chemin sur le NAS
# Création du dossier local si besoin
mkdir -p "$BACKUP_DIR"
echo "🔷 Sauvegarde des bases MySQL..."
if mysqldump -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" --all-databases > "$BACKUP_FILE"; then
echo "✅ Sauvegarde locale terminée : $BACKUP_FILE"
else
echo "❌ Erreur lors de la sauvegarde MySQL"
exit 1
fi
echo "🔷 Envoi de la sauvegarde vers le NAS..."
if rsync -av -e ssh "$BACKUP_FILE" "$NAS_HOST:$NAS_DIR/"; then
echo "✅ Sauvegarde transférée sur le NAS : $NAS_HOST"
else
echo "❌ Échec du transfert vers le NAS"
exit 1
fi
echo "🔷 Nettoyage des sauvegardes locales de plus de 7 jours..."
find "$BACKUP_DIR" -type f -name "*.sql" -mtime +7 -exec rm -f {} \;
echo "🎉 Opération terminée avec succès !"