ajout de.env
toutes les variables d'environnement dans .env et non dans les scripts
This commit is contained in:
43
.env.local
Normal file
43
.env.local
Normal file
@@ -0,0 +1,43 @@
|
||||
# les variables d'environnement
|
||||
|
||||
# compte Os du propriétaire de la base
|
||||
export ORACLE_OWNER=oracle
|
||||
# répertoire où se trouvent les scripts en cours
|
||||
export SCRIPTS_DIR=/home/oracle/scripts
|
||||
# répertoire où seront stockés les fichiers logs des différents scripts
|
||||
export BKP_LOG_DIR=$SCRIPTS_DIR/logs
|
||||
# nombre de jours de conservation des logs de la sauvegarde
|
||||
export BKP_LOG_RETENTION=15
|
||||
|
||||
|
||||
# --- RMAN ---
|
||||
# nombre de canaux à utiliser
|
||||
export PARALLELISM=1
|
||||
# répertoire où seront stockés les sauvegardes RMAN
|
||||
export BKP_LOCATION=/u04/backup/${ORACLE_SID}/rman
|
||||
# nombre de sauvegarde RMAN en ligne à garder
|
||||
export BKP_REDUNDANCY=1
|
||||
export DATE_JOUR=$(date +%Y.%m.%d-%H.%M)
|
||||
export BKP_LOG_FILE=${BKP_LOG_DIR}/backup_rman_${ORACLE_SID}_${DATE_JOUR}.log
|
||||
export RMAN_CMD_FILE=${BKP_LOG_DIR}/rman_cmd_file_${ORACLE_SID}.rman
|
||||
# format de la date pour l'affichage RMAN
|
||||
export NLS_DATE_FORMAT="YYYY/MM/DD HH24:MI:SS"
|
||||
# --- RMAN ---
|
||||
|
||||
# --- backup RMAN des AL conditionnelle
|
||||
PCT_LIMIT=85 # pourcentagre de la FRA au-dessus duquel on déclenche une sauvegarde des archiveslogs
|
||||
ACTION_SCRIPT="${script_dir}/backup_rman_AL.sh" # script RMAN de sauvegarde des archivelogs
|
||||
# --- backup RMAN des AL conditionnelle
|
||||
|
||||
# --- EXPDP ---
|
||||
# paramètres de langue pour expdp
|
||||
export LANG=en_US.UTF-8
|
||||
export NLS_LANG=AMERICAN_AMERICA
|
||||
# répertoire destination de l'export
|
||||
export EXP_LOCATION=/u04/backup/$ORACLE_SID/expdp
|
||||
# nom du répertoire au niveau de la base de données
|
||||
export DPDIR=EXPDP_DIR
|
||||
# --- EXPDP ---
|
||||
|
||||
# URL de notification
|
||||
export NTFY_URL="https://ntfy.axiome.io/backup-rman"
|
||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# fichier qui contient les variables d'environnement
|
||||
.env
|
||||
@@ -11,34 +11,9 @@
|
||||
# 09/11/2022 : YOU - backup simple => db full
|
||||
# 10/08/2023 : YOU - base noarchivelog : execution de rman validate
|
||||
# 25/09/2023 : YOU - simplification, 1 seul parametre pour le script
|
||||
# 25/07/2024 : YOU - fichier .env pour les variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction init : c'est ici qu'il faut modifier toutes les variables liées
|
||||
# à l'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init() {
|
||||
|
||||
export ORACLE_OWNER=oracle
|
||||
|
||||
# les différents répertoires
|
||||
export SCRIPTS_DIR=/home/oracle/scripts
|
||||
export BKP_LOG_DIR=$SCRIPTS_DIR/logs
|
||||
export BKP_LOCATION=/u04/backup/${ORACLE_SID}/rman
|
||||
|
||||
# nombre de sauvegarde RMAN en ligne à garder
|
||||
export BKP_REDUNDANCY=1
|
||||
export DATE_JOUR=$(date +%Y.%m.%d-%H.%M)
|
||||
export BKP_LOG_FILE=${BKP_LOG_DIR}/backup_rman_${ORACLE_SID}_${DATE_JOUR}.log
|
||||
export RMAN_CMD_FILE=${BKP_LOG_DIR}/rman_cmd_file_${ORACLE_SID}.rman
|
||||
|
||||
# nombre de jours de conservation des logs de la sauvegarde
|
||||
export BKP_LOG_RETENTION=15
|
||||
|
||||
# nombre de canaux à utiliser
|
||||
export PARALLELISM=1
|
||||
|
||||
} # f_init
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction d'aide
|
||||
@@ -76,7 +51,19 @@ export ORACLE_SID
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init
|
||||
|
||||
# Nom du fichier .env
|
||||
ENV_FILE=".env"
|
||||
|
||||
# Vérifier si le fichier .env existe
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Charger les variables d'environnement depuis le fichier .env
|
||||
source "$ENV_FILE"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# vérifier si ORACLE_SID est dans /etc/orata
|
||||
@@ -184,7 +171,7 @@ ${ORACLE_HOME}/bin/rman target / cmdfile=${RMAN_CMD_FILE} log=${BKP_LOG_FILE}
|
||||
ERR_COUNT=$(egrep "^ORA-[0-9]:" ${BKP_LOG_FILE} | wc -l)
|
||||
|
||||
if [ ${ERR_COUNT} -ne 0 ]; then
|
||||
curl -H "t: Erreur RMAN base ${ORACLE_SID} sur le serveur $(hostname)" -d "$(cat ${BKP_LOG_FILE})" -L https://ntfy.axiome.io/backup-rman
|
||||
curl -H "t: Erreur RMAN base ${ORACLE_SID} sur le serveur $(hostname)" -d "$(cat ${BKP_LOG_FILE})" -L ${NTFY_URL}
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@@ -70,7 +70,21 @@ ORACLE_SID=$1
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init
|
||||
# f_init
|
||||
|
||||
# Nom du fichier .env
|
||||
ENV_FILE=".env"
|
||||
|
||||
# Vérifier si le fichier .env existe
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Charger les variables d'environnement depuis le fichier .env
|
||||
source "$ENV_FILE"
|
||||
|
||||
|
||||
# vérifier si ORACLE_SID est pésente dans le fichier /etc/oratab
|
||||
if [ "$(grep -v '^$|^#' /etc/oratab | grep -c "^${ORACLE_SID}:")" -ne 1 ]; then
|
||||
|
||||
@@ -11,6 +11,23 @@
|
||||
# 21/12/2023 : YOU - Creation
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Nom du fichier .env
|
||||
ENV_FILE=".env"
|
||||
|
||||
# Vérifier si le fichier .env existe
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Charger les variables d'environnement depuis le fichier .env
|
||||
source "$ENV_FILE"
|
||||
|
||||
|
||||
for sid in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | sort)
|
||||
do
|
||||
@@ -29,11 +46,6 @@ do
|
||||
PATH=/usr/local/bin:$PATH
|
||||
. oraenv -s >/dev/null
|
||||
|
||||
# Variables d'initialisation
|
||||
script_dir=/home/oracle/scripts
|
||||
pct_limit=85
|
||||
action_script="${script_dir}/backup_rman_AL.sh ${ORACLE_SID}"
|
||||
|
||||
#
|
||||
# calcul de la taille FRA
|
||||
#
|
||||
@@ -48,10 +60,10 @@ EOF
|
||||
#
|
||||
# Si la FRA dépasse la limite on lance le script
|
||||
#
|
||||
if [ "${pct_fra_used}" -gt ${pct_limit} ]
|
||||
if [ "${pct_fra_used}" -gt ${PCT_LIMIT} ]
|
||||
then
|
||||
echo ${pct_fra_used} : backup des archivelog necessaire par script ${action_script}
|
||||
sh ${action_script}
|
||||
echo ${pct_fra_used} : backup des archivelog necessaire par script ${ACTION_SCRIPT}
|
||||
sh ${ACTION_SCRIPT} ${ORACLE_SID}
|
||||
else
|
||||
echo ${pct_fra_used} : backup des archivelog non necessaire
|
||||
fi
|
||||
|
||||
@@ -1,12 +1,31 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ORACLE DATABASE : BACKUP ALL B
|
||||
# sauvegarde de touts les bases ouvertes (en mode archivelog)
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# sauvegarde de touts les bases ouvertes (en mode archivelog)
|
||||
|
||||
export SCRIPTS_DIR=/home/oracle/scripts
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Nom du fichier .env
|
||||
ENV_FILE=".env"
|
||||
|
||||
# Vérifier si le fichier .env existe
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Charger les variables d'environnement depuis le fichier .env
|
||||
source "$ENV_FILE"
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# boucle de sauvegarde des bases
|
||||
#------------------------------------------------------------------------------
|
||||
for b in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | sort)
|
||||
do
|
||||
${SCRIPTS_DIR}/backup_rman.sh $b
|
||||
|
||||
@@ -100,8 +100,22 @@ done
|
||||
|
||||
[ "${ORACLE_SID}" ] || f_help 2;
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
f_init
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Nom du fichier .env
|
||||
ENV_FILE=".env"
|
||||
|
||||
# Vérifier si le fichier .env existe
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Charger les variables d'environnement depuis le fichier .env
|
||||
source "$ENV_FILE"
|
||||
|
||||
# vérifier si ORACLE_SID est pésente dans le fichier /etc/oratab
|
||||
if [ "$(grep -v '^$|^#' /etc/oratab | grep -c "^${ORACLE_SID}:")" -ne 1 ]; then
|
||||
|
||||
@@ -11,21 +11,6 @@
|
||||
# à l'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
export ORACLE_OWNER=oracle
|
||||
export MAIL_RCPT=yacine.oumghar@axiome.io
|
||||
|
||||
f_init() {
|
||||
|
||||
# positionner les variables d'environnement
|
||||
export SCRIPTS_DIR=/home/oracle/scripts
|
||||
# paramètres de lang
|
||||
export LANG=en_US.UTF-8
|
||||
export NLS_LANG=AMERICAN_AMERICA.${NLS_CHARACTERSET}
|
||||
|
||||
# répertoire destination de l'export
|
||||
export EXP_LOCATION=/u04/backup/$ORACLE_SID/expdp
|
||||
# nom du répertoire au niveau de la base de données
|
||||
export DPDIR=EXPDP_DIR
|
||||
} #f_init
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fonction d'aide
|
||||
@@ -49,6 +34,22 @@ ORACLE_SID=$1
|
||||
|
||||
[ "${ORACLE_SID}" ] || f_help 2;
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
# Nom du fichier .env
|
||||
ENV_FILE=".env"
|
||||
|
||||
# Vérifier si le fichier .env existe
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Charger les variables d'environnement depuis le fichier .env
|
||||
source "$ENV_FILE"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# si ce n'est pas le user oracle qui lance le script, on quitte
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -58,11 +59,6 @@ then
|
||||
exit
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
f_init
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# positionner les variables d'environnement ORACLE
|
||||
# et vérifier si ORACLE_SID est dans /etc/orata
|
||||
@@ -94,6 +90,9 @@ EOF
|
||||
)
|
||||
NLS_CHARACTERSET=$(echo $NLS_CHARACTERSET | sed 's/^\s*//g')
|
||||
|
||||
# on complète la variable NLS_LANG qui vient du fichier .env avec la variable NLS_CHARACTERSET
|
||||
export NLS_LANG="${NLS_LANG}.${NLS_CHARACTERSET}"
|
||||
|
||||
# creation du repertoire de sauvegarde. S'il existe la commande install ne fait rien
|
||||
install -d ${EXP_LOCATION}
|
||||
|
||||
@@ -130,5 +129,5 @@ ERR_COUNT=$(egrep "^EXP-[0-9]*|^ORA-[0-9]:" ${EXPDP_LOG_FILE} | wc -l)
|
||||
MSG=$(egrep "^EXP-[0-9]*|^ORA-[0-9]:" ${EXPDP_LOG_FILE})
|
||||
|
||||
if [ ${ERR_COUNT} -ne 0 ]; then
|
||||
curl -H "t: Erreur expdp base ${ORACLE_SID} sur le serveur $(hostname)" -d "$MSG" -L https://ntfy.axiome.io/expdp
|
||||
curl -H "t: Erreur expdp base ${ORACLE_SID} sur le serveur $(hostname)" -d "$MSG" -L ${NTFY_URL}
|
||||
fi
|
||||
@@ -6,9 +6,28 @@
|
||||
# 21/04/2023 : YOU - Creation : export datapump de toutes les bases ouvertes
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# toutes les bases ouvertes sont sauvegardées par le expdp
|
||||
#------------------------------------------------------------------------------
|
||||
# inititalisation des variables d'environnement
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
for i in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | egrep -v '+ASM|+APX)
|
||||
# Nom du fichier .env
|
||||
ENV_FILE=".env"
|
||||
|
||||
# Vérifier si le fichier .env existe
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Erreur : Le fichier $ENV_FILE n'existe pas."
|
||||
echo "Erreur : Impossible de charger les variables d'environnement."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Charger les variables d'environnement depuis le fichier .env
|
||||
source "$ENV_FILE"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# toutes les bases ouvertes sont sauvegardées par le expdp
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
for i in $(ps -ef | grep pmon | grep -v grep | cut -d_ -f3 | egrep -v '+ASM|+APX')
|
||||
do
|
||||
sh /home/oracle/scripts/export_datapump.sh $i
|
||||
sh ${SCRIPTS_DIR}/export_datapump.sh $i
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user