Téléverser les fichiers vers "scripts"
This commit is contained in:
38
scripts/backup_mariadb.sh
Normal file
38
scripts/backup_mariadb.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
# Répertoire des backups
|
||||
BACKUP_DIR="/mnt/backup_syno/dumps/mariadb/$(date +%F)"
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Paramètres de connexion (exposés par Docker)
|
||||
MARIADB_HOST="127.0.0.1"
|
||||
MARIADB_PORT="3306"
|
||||
MARIADB_USER="root"
|
||||
MARIADB_PASSWORD="&22dt4H4&owV8DPb"
|
||||
|
||||
# Vérifie si le client mysql est dispo
|
||||
if ! command -v mysql &> /dev/null; then
|
||||
echo "mysql non trouvé. Installation silencieuse du client MariaDB..."
|
||||
sudo apt-get update -qq
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-client > /dev/null
|
||||
fi
|
||||
|
||||
# Liste des bases (hors systèmes)
|
||||
DATABASES=$(mysql -h $MARIADB_HOST -P $MARIADB_PORT -u$MARIADB_USER -p$MARIADB_PASSWORD \
|
||||
-e "SHOW DATABASES;" 2>/dev/null | grep -Ev "(Database|information_schema|performance_schema|mysql|sys)")
|
||||
|
||||
if [ -z "$DATABASES" ]; then
|
||||
echo "Aucune base MariaDB trouvée ! Vérifie la connexion au conteneur."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Bases MariaDB trouvées :"
|
||||
echo "$DATABASES"
|
||||
|
||||
# Dump de chaque base
|
||||
for DB in $DATABASES; do
|
||||
echo "Dump de la base $DB..."
|
||||
mysqldump -h $MARIADB_HOST -P $MARIADB_PORT -u$MARIADB_USER -p$MARIADB_PASSWORD $DB \
|
||||
| gzip > "$BACKUP_DIR/${DB}_$(date +%F).sql.gz"
|
||||
done
|
||||
|
||||
echo "Backup MariaDB terminé dans $BACKUP_DIR"
|
||||
Reference in New Issue
Block a user