From b9ba95bd21c8f7ac6a0c421372064fbd65d57600 Mon Sep 17 00:00:00 2001 From: Steven <1+steven@noreply.localhost> Date: Fri, 18 Sep 2026 08:31:30 +0200 Subject: [PATCH] Ajouter Export_DB_BW.sh --- Export_DB_BW.sh | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Export_DB_BW.sh diff --git a/Export_DB_BW.sh b/Export_DB_BW.sh new file mode 100644 index 0000000..1554147 --- /dev/null +++ b/Export_DB_BW.sh @@ -0,0 +1,69 @@ +#!/bin/sh +# Ce script exporte la DB bitwarden +# Derniere modification : 18.09.2026 - S. SIMON +# Initialisation d'une variable d'erreur +ERROR_VAR="0" +# Initialisation des variables +DATETIME=`date +%Y%m%d-%H%M` +LADATE=`date +%Y%m%d` +# Initialisation du fichier de log +LOG_FILE=/volume29/Backup/bitwarden/exportbw_`date +%Y%m%d`.log +if [ -e $LOG_FILE ]; then + echo $DATETIME \| INFO \| Le fichier de log existe deja >>$LOG_FILE 2>&1 +else + touch $LOG_FILE + echo \|---------- >$LOG_FILE 2>&1 + echo \|-- JOURNAL DU SCRIPT D\'EXPORT BITWARDEN >>$LOG_FILE 2>&1 + echo \|---------- >>$LOG_FILE 2>&1 + if [ $? -eq 0 ]; then + echo $DATETIME \| INFO \| Le fichier de log a ete cree avec succes >>$LOG_FILE 2>&1 + else + echo $DATETIME \| ERREUR \| Erreur lors de la creation du fichier de log >>$LOG_FILE 2>&1 + ERROR_VAR=$(($ERROR_VAR +1)) + fi +fi +# Suppression des fichiers de plus de 10 jours +echo -- >>$LOG_FILE 2>&1 +echo $DATETIME \| INFO \| Suppression des fichiers de plus de 10 jours >>$LOG_FILE 2>&1 +find /volume29/Backup/bitwarden/ -type f -mtime +10 -exec rm -rf {} + >>$LOG_FILE 2>&1 +if [ $? -eq 0 ]; then + echo $DATETIME \| INFO \| Suppression des anciens fichiers : OK >>$LOG_FILE 2>&1 +else + echo $DATETIME \| ERREUR \| Erreur lors de la suppression des fichiers de plus de 10 jours >>$LOG_FILE 2>&1 + ERROR_VAR=$(($ERROR_VAR +1)) +fi +# RECUPERATION DYNAMIQUE DU RESEAU ET DE LA VERSION MARIADB +echo -- >>$LOG_FILE 2>&1 +echo $DATETIME \| INFO \| Recuperation du reseau Docker >>$LOG_FILE 2>&1 +MYSQL_NETWORK=$(docker inspect vaultwarden_mysql --format '{{range $k, $v := .NetworkSettings.Networks}}{{$k}}{{end}}') +MYSQL_IMAGE=$(docker inspect vaultwarden_mysql --format '{{.Config.Image}}') +if [ -z "$MYSQL_NETWORK" ]; then + echo $DATETIME \| ERREUR \| Impossible de recuperer le reseau Docker - conteneur vaultwarden_mysql arrete ? >>$LOG_FILE 2>&1 + ERROR_VAR=$(($ERROR_VAR +1)) + echo -- >>$LOG_FILE 2>&1 + echo $DATETIME \| INFO \| Erreurs rencontrees : $ERROR_VAR >>$LOG_FILE 2>&1 + echo -- >>$LOG_FILE 2>&1 + exit 1 +fi +echo $DATETIME \| INFO \| Reseau : $MYSQL_NETWORK - Image : $MYSQL_IMAGE >>$LOG_FILE 2>&1 +# EXPORT DE LA DB BITWARDEN +echo -- >>$LOG_FILE 2>&1 +echo $DATETIME \| INFO \| Export de la DB Bitwarden >>$LOG_FILE 2>&1 +DUMP_FILE=/volume29/Backup/bitwarden/bitwardendb_$DATETIME.sql +docker run --rm \ + --network $MYSQL_NETWORK \ + $MYSQL_IMAGE \ + mariadb-dump -h vaultwarden_mysql -u bitwarden -p'bitwarden' bitwardendb \ + > $DUMP_FILE 2>/tmp/vaultwarden_dump_err.log +if [ $? -eq 0 ]; then + echo $DATETIME \| INFO \| Export de la DB Bitwarden : OK >>$LOG_FILE 2>&1 +else + ERR=$(cat /tmp/vaultwarden_dump_err.log) + rm -f $DUMP_FILE + echo $DATETIME \| ERREUR \| Erreur lors de l\'Export de la DB Bitwarden : $ERR >>$LOG_FILE 2>&1 + ERROR_VAR=$(($ERROR_VAR +1)) +fi +# Fin du script +echo -- >>$LOG_FILE 2>&1 +echo $DATETIME \| INFO \| Erreurs rencontrees : $ERROR_VAR >>$LOG_FILE 2>&1 +echo -- >>$LOG_FILE 2>&1 \ No newline at end of file