Ajout fichier backup
This commit is contained in:
30
scripts/backup_all.sh
Normal file
30
scripts/backup_all.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/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)"
|
||||
Reference in New Issue
Block a user