From fc4104bba2a44faed4b1c355099d76a897985ff3 Mon Sep 17 00:00:00 2001 From: Willy Date: Mon, 4 May 2026 15:30:25 +0200 Subject: [PATCH] Add test.sh --- test.sh | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 test.sh diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..cb593aa --- /dev/null +++ b/test.sh @@ -0,0 +1,124 @@ +#!/bin/bash + +#Variables d'environnement +DATADIR="/var/lib/mysql" #Emplacement base de données +TARGET="/home/utilisateur/backups" #Emplacement de la sauvegarde +UserSavePreload="" #Pour forcer le nom utilisateur à utiliser pour faire les sauvegardes +UserSavePassPreload="" #Pour forcer le mot de passe de l'utilisateur + + + + +echo +echo "Script de sauvegarde base de données mariadb avec MariaBackup" +echo + + +# Vérification mariadb-backup est installé. +MariaBackupVersion=$(command mariabackup -v 2> /dev/null) + +if [ -z "$MariaBackupVersionj" ]; then + echo "ERREUR: mariadb-backup non installé" + exit 1 +fi + + +# Extraction des versions +BACKUP_VER=$($mariabackup --version 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1) +MARIADB_VER=$(mariadb --version 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1) + + +# Comparaison des versions +if [ "$BACKUP_VER" = "$MARIADB_VER" ]; then + echo "OK Versions identiques" + exit 0 +else + echo "Attention versions différentes, veuillez installer la version adapté" + exit 0 +fi + + +function SaveDB { +read -p "Utilisateur ? " UserSave +read -p "Mot de passe ? "UserSavePass +UserSave=$UserSavePreload +UserSavePass=$UserSavePassPreload +mariabackup --backup --parallel=2 --datadir=$DATADIR --target-dir=$TARGET/full-$(date +%Y%m%d) --user='$UserSave' --password='$UserSavePass' +} + + +# Fonction creation utilisateur MariaDB +function UserCreate { +read -p "Nouveau nom d'utilisateur MariaDB ? " UserCreateName + +if [ -z "$UserCreateName" ]; then + echo "❌ Erreur: Le nom d'utilisateur ne peut pas être vide" + exit 1 +fi + +read -sp "Mot de passe ? " UserCreatePassword +read -sp "Confirmer mot de passe ? " UserCreatePasswordRepeat + +if [ -z "$UserCreatePassword" ]; then + echo "❌ Le mot de passe ne peut pas être vide" + exit 1 +fi + +if [ "$UserCreatePassword" != "$UserCreatePasswordRepeat" ]; then + echo "❌ Les mots de passe ne correspondent pas" + exit 1 +fi + +echo "🔐 Connexion à MariaDB..." + +mariadb -u root -p <