35 lines
1.0 KiB
Bash
35 lines
1.0 KiB
Bash
#!/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 !"
|