révison des script avec gemini : organisation, commentaire et harmonisation

This commit is contained in:
Yacine31
2025-11-10 03:30:58 +01:00
parent bd0e4de6bf
commit 27a022b41b
15 changed files with 386 additions and 230 deletions

View File

@@ -1,4 +1,9 @@
#!/bin/sh
#!/bin/bash
#------------------------------------------------------------------------------
# Ce script effectue une sauvegarde des binaires d'une application Oracle.
# Il crée une archive tar compressée du répertoire de l'application,
# en excluant les sous-répertoires non essentiels (admin, audit, diag).
# Une notification est envoyée à la fin de l'opération (succès ou échec).
#------------------------------------------------------------------------------
# Historique :
# 25/09/2023 : YOU - premiere version pour sauvegarder les binaires
@@ -9,7 +14,7 @@
#----------------------------------------
#------------------------------------------------------------------------------
# inititalisation des variables d'environnement
# initialisation des variables d'environnement
#------------------------------------------------------------------------------
export SCRIPTS_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)
@@ -26,24 +31,41 @@ fi
# Charger les variables d'environnement depuis le fichier .env
source "$ENV_FILE"
#------------------------------------------------------------------------------
# Variables attendues dans le fichier .env :
#------------------------------------------------------------------------------
# BKP_APP_LOCATION : répertoire de stockage des sauvegardes des binaires (ex: /backup/oracle_bin)
# ORA_APP_LOCATION : répertoire de base des binaires Oracle (ex: /u01/app/oracle)
# NTFY_URL : URL pour les notifications (service ntfy.sh)
#------------------------------------------------------------------------------
# S'assurer que toutes les variables utilisées sont définies
set -u
# Gérer les erreurs dans les pipelines
set -o pipefail
# creation du repertoire de sauvegarde. S'il existe la commande install ne fait rien
install -d ${BKP_APP_LOCATION}
mkdir -p ${BKP_APP_LOCATION}
#------------------------------------------------------------------------------
# sauvegarde
#------------------------------------------------------------------------------
cd ${BKP_APP_LOCATION}
# suppression des anciennes sauvegardes
# suppression des anciennes sauvegardes (note: cette commande supprime TOUTES les anciennes sauvegardes)
rm -fv backup_bin_oraapp_*.tgz
# compression du repertoire oracle app avec exclusion des répertoires admin, diag et audit
sudo tar cfz ${BKP_APP_LOCATION}/backup_bin_oraapp_$(date +%Y%m%d).tgz \
if sudo tar cfz "${BKP_APP_LOCATION}/backup_bin_oraapp_$(date +%Y%m%d).tgz" \
--exclude="${ORA_APP_LOCATION}/oracle/admin" \
--exclude="${ORA_APP_LOCATION}/oracle/audit" \
--exclude="${ORA_APP_LOCATION}/oracle/diag" \
${ORA_APP_LOCATION}
# notification
curl -d "$(hostname) - backup des binaires terminée" ${NTFY_URL}
"${ORA_APP_LOCATION}"; then
# notification de succès
curl -d "$(hostname) - backup des binaires terminée" "${NTFY_URL}"
else
# notification d'échec
curl -d "$(hostname) - ERREUR: backup des binaires a échoué" "${NTFY_URL}"
exit 1 # Quitter avec un code d'erreur
fi