Files
Gestion_sondes/scripts/backup_all.sh
2025-06-10 19:01:48 +02:00

31 lines
915 B
Bash

#!/bin/bash
# 📅 Format de la date pour le nom du fichier
DATE=$(date +%Y-%m-%d-%Hh%M)
BACKUP_DIR="/home/debian/backup"
SQL_FILE="all-databases_${DATE}.sql"
# 🔐 Fichier de conf MySQL contenant les identifiants
MYSQL_CNF="/home/debian/my.env"
# 📤 Emplacement de destination sur le NAS
NAS_USER="Michel"
NAS_IP="10.8.0.1"
NAS_DIR="/volume1/nfs/bwps"
SSH_KEY="/home/debian/.ssh/id_rsa"
# ✅ Créer le dossier de backup si nécessaire
mkdir -p "$BACKUP_DIR"
# 🗃 Dump MySQL
mysqldump --defaults-extra-file="$MYSQL_CNF" --all-databases > "$BACKUP_DIR/$SQL_FILE"
# 🔁 Envoi via rsync avec clé SSH
rsync -avz -e "ssh -i $SSH_KEY -o ConnectTimeout=10" "$BACKUP_DIR/$SQL_FILE" "$NAS_USER@$NAS_IP:$NAS_DIR/"
# 🧹 Suppression des fichiers SQL locaux de + de 7 jours
find "$BACKUP_DIR" -name "*.sql" -mtime +7 -exec rm {} \;
# ✅ Log de succès
echo "[OK] Sauvegarde terminée à $(date)"