suppressions et modifs cosmétiques sur plusieurs scripts
This commit is contained in:
parent
2e83c2b46f
commit
354ddf6fd2
@ -8,30 +8,38 @@ KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
|||||||
setKazVars
|
setKazVars
|
||||||
. $DOCKERS_ENV
|
. $DOCKERS_ENV
|
||||||
. $KAZ_ROOT/secret/SetAllPass.sh
|
. $KAZ_ROOT/secret/SetAllPass.sh
|
||||||
|
. $KAZ_ROOT/secret/env-kaz
|
||||||
|
|
||||||
PRG=$(basename $0)
|
PRG=$(basename $0)
|
||||||
|
|
||||||
#TODO: ce tab doit être construit à partir de la liste des machines dispos et pas en dur
|
#######################################
|
||||||
tab_sites_destinations_possibles=("kazoulet" "prod2" "prod1")
|
# tout est dans le env_kaz
|
||||||
|
# NAS_VOL="/mnt/disk-nas1/docker/volumes/"
|
||||||
|
|
||||||
|
# OPERATE_ON_MAIN= # par defaut NON on ne traite que des orgas
|
||||||
|
# OPERATE_ON_NAS_ORGA="OUI" # par defaut oui, on va aussi sur les orgas du NAS
|
||||||
|
# OPERATE_LOCAL_ORGA="OUI" # par defaut oui
|
||||||
|
|
||||||
|
# TEMPO_ACTION_STOP=2 # Lors de redémarrage avec tempo, on attend après le stop
|
||||||
|
# TEMPO_ACTION_START=60 # Lors de redémarrage avec tempo, avant de reload le proxy
|
||||||
|
|
||||||
|
# DEFAULTCONTAINERS="cloud agora wp wiki office paheko castopod"
|
||||||
|
|
||||||
|
# APPLIS_PAR_DEFAUT="tasks calendar contacts bookmarks mail richdocuments external drawio snappymail ransomware_protection" #rainloop richdocumentscode
|
||||||
|
|
||||||
|
# QUIET="1" # redirection des echo
|
||||||
|
|
||||||
|
###################################################################################################################
|
||||||
|
|
||||||
#GLOBAL VARS
|
#GLOBAL VARS
|
||||||
NAS_VOL="/mnt/disk-nas1/docker/volumes/"
|
|
||||||
|
|
||||||
availableOrga=($(getList "${KAZ_CONF_DIR}/container-orga.list"))
|
availableOrga=($(getList "${KAZ_CONF_DIR}/container-orga.list"))
|
||||||
AVAILABLE_ORGAS=${availableOrga[*]//-orga/}
|
AVAILABLE_ORGAS=${availableOrga[*]//-orga/}
|
||||||
|
|
||||||
availableContainersCommuns=( $(getList "${KAZ_CONF_DIR}/container-withMail.list") $(getList "${KAZ_CONF_DIR}/container-withoutMail.list"))
|
availableContainersCommuns=( $(getList "${KAZ_CONF_DIR}/container-withMail.list") $(getList "${KAZ_CONF_DIR}/container-withoutMail.list"))
|
||||||
|
|
||||||
OPERATE_ON_MAIN= # par defaut NON on ne traite que des orgas
|
|
||||||
OPERATE_ON_NAS_ORGA="OUI" # par defaut oui, on va aussi sur les orgas du NAS
|
|
||||||
OPERATE_LOCAL_ORGA="OUI" # par defaut oui
|
|
||||||
|
|
||||||
TEMPO_ACTION_STOP=2 # Lors de redémarrage avec tempo, on attend après le stop
|
|
||||||
TEMPO_ACTION_START=60 # Lors de redémarrage avec tempo, avant de reload le proxy
|
|
||||||
|
|
||||||
CONTAINERS_TYPES=
|
CONTAINERS_TYPES=
|
||||||
|
|
||||||
defaultContainersTypes="cloud agora wp wiki office paheko castopod" # les containers gérés par ce script.
|
|
||||||
|
|
||||||
declare -A DockerServNames # le nom des containers correspondant
|
declare -A DockerServNames # le nom des containers correspondant
|
||||||
DockerServNames=( [cloud]="${nextcloudServName}" [agora]="${mattermostServName}" [wiki]="${dokuwikiServName}" [wp]="${wordpressServName}" [office]="${officeServName}" [paheko]="${pahekoServName}" [castopod]="${castopodServName}" )
|
DockerServNames=( [cloud]="${nextcloudServName}" [agora]="${mattermostServName}" [wiki]="${dokuwikiServName}" [wp]="${wordpressServName}" [office]="${officeServName}" [paheko]="${pahekoServName}" [castopod]="${castopodServName}" )
|
||||||
@ -54,14 +62,11 @@ declare -A NbOrgas
|
|||||||
declare -A RunningOrgas
|
declare -A RunningOrgas
|
||||||
declare -A Posts
|
declare -A Posts
|
||||||
|
|
||||||
QUIET="1" # redirection des echo
|
|
||||||
|
|
||||||
OCCCOMANDS=()
|
OCCCOMANDS=()
|
||||||
MMCTLCOMANDS=()
|
MMCTLCOMANDS=()
|
||||||
EXECCOMANDS=()
|
EXECCOMANDS=()
|
||||||
|
|
||||||
# CLOUD
|
|
||||||
APPLIS_PAR_DEFAUT="tasks calendar contacts bookmarks mail richdocuments external drawio snappymail ransomware_protection" #rainloop richdocumentscode
|
|
||||||
|
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
@ -114,6 +119,10 @@ ${PRG} -office -m -r restart de tous les collaboras (libére RAM)
|
|||||||
${PRG} -cloud -u -r -q -n Affiche toutes les commandes (-n -q ) pour mettre à jour toutes les applis des clouds + restart (-u -r)
|
${PRG} -cloud -u -r -q -n Affiche toutes les commandes (-n -q ) pour mettre à jour toutes les applis des clouds + restart (-u -r)
|
||||||
${PRG} -p \"monorga:town-square\" \"Hello\" monorga # envoie Hello sur le centreville de l'orga monorga sur son mattermost dédié
|
${PRG} -p \"monorga:town-square\" \"Hello\" monorga # envoie Hello sur le centreville de l'orga monorga sur son mattermost dédié
|
||||||
|
|
||||||
|
Valeurs par défaut :
|
||||||
|
|
||||||
|
Tempo de Stop : ${TEMPO_ACTION_STOP}
|
||||||
|
Tempo de restart : ${TEMPO_ACTION_START}
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,7 +137,7 @@ _populate_lists(){
|
|||||||
|
|
||||||
if [ -z "${CONTAINERS_TYPES}" ]; then
|
if [ -z "${CONTAINERS_TYPES}" ]; then
|
||||||
# wow, on traite tout le monde d'un coup...
|
# wow, on traite tout le monde d'un coup...
|
||||||
CONTAINERS_TYPES="$defaultContainersTypes"
|
CONTAINERS_TYPES=${DEFAULTCONTAINERS}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for TYPE in ${CONTAINERS_TYPES}; do
|
for TYPE in ${CONTAINERS_TYPES}; do
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# gestion des utilisateurs de kaz ( mail, cloud général, mattermost )
|
# gestion des utilisateurs de kaz ( mail, cloud général, mattermost )
|
||||||
#KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
|
||||||
KAZ_ROOT=/kaz
|
KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
||||||
. $KAZ_ROOT/bin/.commonFunctions.sh
|
. $KAZ_ROOT/bin/.commonFunctions.sh
|
||||||
setKazVars
|
setKazVars
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
||||||
KAZ_ROOT=/kaz
|
|
||||||
. $KAZ_ROOT/bin/.commonFunctions.sh
|
. $KAZ_ROOT/bin/.commonFunctions.sh
|
||||||
setKazVars
|
setKazVars
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# supervision de postfix
|
# supervision de postfix
|
||||||
#KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
|
||||||
KAZ_ROOT=/kaz
|
KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
||||||
. $KAZ_ROOT/bin/.commonFunctions.sh
|
. $KAZ_ROOT/bin/.commonFunctions.sh
|
||||||
setKazVars
|
setKazVars
|
||||||
|
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
# les script pre et post doivent s' appelle pre_xxxxx.sh ou post_xxxx.sh
|
# les script pre et post doivent s' appelle pre_xxxxx.sh ou post_xxxx.sh
|
||||||
# La variable BORGSCRIPTS est le chemin du repertoire des scripts dans la config générale de Kaz
|
# La variable BORGSCRIPTS est le chemin du repertoire des scripts dans la config générale de Kaz
|
||||||
#####################################################
|
#####################################################
|
||||||
#KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
||||||
KAZ_ROOT=/kaz
|
|
||||||
. $KAZ_ROOT/bin/.commonFunctions.sh
|
. $KAZ_ROOT/bin/.commonFunctions.sh
|
||||||
setKazVars
|
setKazVars
|
||||||
. $DOCKERS_ENV
|
. $DOCKERS_ENV
|
||||||
|
@ -1,161 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Didier le 14 Septembre 2022
|
|
||||||
#
|
|
||||||
# TODO : Inclure un script post et pre.
|
|
||||||
#
|
|
||||||
#####################################################
|
|
||||||
#KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
|
||||||
KAZ_ROOT="/kaz"
|
|
||||||
. $KAZ_ROOT/bin/.commonFunctions.sh
|
|
||||||
setKazVars
|
|
||||||
. $DOCKERS_ENV
|
|
||||||
. $KAZ_ROOT/secret/SetAllPass.sh
|
|
||||||
VERSION="1.0"
|
|
||||||
PRG=$(basename $0)
|
|
||||||
RACINE=$(echo $PRG | awk '{print $1}')
|
|
||||||
IFS=' '
|
|
||||||
#
|
|
||||||
#####################################################
|
|
||||||
MAILSOURCE="sauve@kaz.bzh"
|
|
||||||
VOLUME_SAUVEGARDES="/mnt/backup-nas1"
|
|
||||||
#SAUVE_REPO=${VOLUME_SAUVEGARDES}/SauveRepo
|
|
||||||
SAUVE_REPO=admin@nas-kaz1:/share/Backup/SauveRepo
|
|
||||||
MAIL_RAPPORT="didier@kaz.bzh;francois@kaz.bzh;fab@kaz.bzh;fanch@kaz.bzh"
|
|
||||||
#####################################################
|
|
||||||
SCRIPTLOG="/mnt/disk-nas1/log/${PRG}-$(date +%d-%m-%Y-%H-%M-%S).log"
|
|
||||||
FICLOG="/var/log/${PRG}.log"
|
|
||||||
#####################################################
|
|
||||||
# - la liste des repertoires à sauver séparés par un espace
|
|
||||||
LISTREPSAUV="/var/lib/docker/volumes /kaz"
|
|
||||||
#####################################################
|
|
||||||
# - Les sauvegardes à garder jour, semaines, mois
|
|
||||||
NB_BACKUPS_JOUR=15
|
|
||||||
NB_BACKUPS_SEM=8
|
|
||||||
NB_BACKUPS_MOIS=12
|
|
||||||
#####################################################
|
|
||||||
# Recevoir un mail quand la sauvegarde est OK ?
|
|
||||||
MAILOK=true
|
|
||||||
#####################################################
|
|
||||||
|
|
||||||
trap 'LogFic "script stoppé sur un SIGTERM ou SIGINT" >&2; exit 2' INT TERM
|
|
||||||
|
|
||||||
LogFic() {
|
|
||||||
[ ! -w ${FICLOG} ] && { echo "Probleme d' ecriture dans $FICLOG" ; exit 1 ;}
|
|
||||||
echo "$(date +%d-%m-%Y-%H-%M-%S) : $1" >> ${FICLOG}
|
|
||||||
}
|
|
||||||
#
|
|
||||||
ExpMail() {
|
|
||||||
MAIL_SOURCE=$1
|
|
||||||
MAIL_SUJET=$2
|
|
||||||
MAIL_DEST=$3
|
|
||||||
MAIL_TEXTE=$4
|
|
||||||
docker exec -i mailServ mailx -a 'Content-Type: text/plain; charset="UTF-8"' -r ${MAIL_SOURCE} -s "${MAIL_SUJET}" ${MAIL_DEST} << EOF
|
|
||||||
${MAIL_TEXTE}
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
Sauvegarde() {
|
|
||||||
#$1 est le repertoire à sauver, on créé le sous repertoire dans le repo
|
|
||||||
CODE_TMP=""
|
|
||||||
if [ -r $1 ]
|
|
||||||
then
|
|
||||||
echo "Sauvegarde $1" >>${SCRIPTLOG}
|
|
||||||
#mkdir -p ${SAUVE_REPO}/$1 >/dev/null 2>&1
|
|
||||||
#rdiff-backup --verbosity 3 $1 ${SAUVE_REPO}/$1 >>${SCRIPTLOG} 2>>${SCRIPTLOG}
|
|
||||||
rsync -aAHXh --del --stats --exclude 'files_trashbin' $1 ${SAUVE_REPO} >>${SCRIPTLOG} 2>>${SCRIPTLOG}
|
|
||||||
CODE_TMP=$?
|
|
||||||
else
|
|
||||||
LogFic "$1 n' existe pas ou n' est pas accessible en lecture"
|
|
||||||
CODE_TMP=1
|
|
||||||
fi
|
|
||||||
LogFic "Code Retour de la sauvegarde de $1 : ${CODE_TMP}"
|
|
||||||
BACKUP_EXIT=$(expr ${BACKUP_EXIT} + ${CODE_TMP} )
|
|
||||||
}
|
|
||||||
#
|
|
||||||
Purge() {
|
|
||||||
echo "Commande prune de rdiff-backup"
|
|
||||||
PRUNE_EXIT=$?
|
|
||||||
}
|
|
||||||
# ****************************************************** Main *******************************************************************
|
|
||||||
# Création du fichier de log
|
|
||||||
touch ${FICLOG}
|
|
||||||
#
|
|
||||||
LogFic "#########################################################################################################################"
|
|
||||||
LogFic " *************** ${PRG} Version ${VERSION} ***************"
|
|
||||||
LogFic "#########################################################################################################################"
|
|
||||||
# test si les variables importantes sont renseignées et sortie si tel n' est pas le cas
|
|
||||||
if [ -z "${VOLUME_SAUVEGARDES}" ] || [ -z "${SAUVE_REPO}" ]
|
|
||||||
then
|
|
||||||
echo "VOLUME_SAUVEGARDES et SAUVE_REPO à verifier"
|
|
||||||
LogFic "VOLUME_SAUVEGARDES et SAUVE_REPO à verifier"
|
|
||||||
LogFic "Sortie du script"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#####################################################################################################################################################
|
|
||||||
################### Mise en commentaire de cette section puisque le repo est en rsync ( voir plus tard comment gérer ça )
|
|
||||||
# test si le volume de sauvegarde est ok
|
|
||||||
#grep "${VOLUME_SAUVEGARDES}" /etc/mtab >/dev/null 2>&1
|
|
||||||
#if [ "$?" -ne "0" ]
|
|
||||||
#then
|
|
||||||
# echo "le volume de sauvegarde ${VOLUME_SAUVEGARDES} n' est pas monté"
|
|
||||||
# LogFic "Erreur de montage du volume ${VOLUME_SAUVEGARDES} de sauvegarde"
|
|
||||||
# exit 1
|
|
||||||
#fi
|
|
||||||
# Test si j' ai le droit d' écrire dans le Repo
|
|
||||||
# [ ! -w ${SAUVE_REPO} ] && { echo "Verifier le droit d' écriture dans ${SAUVE_REPO}" ; LogFic "Verifier le droit d' écriture dans ${SAUVE_REPO}"; exit 1;}
|
|
||||||
#####################################################################################################################################################
|
|
||||||
|
|
||||||
# Tout se passe bien on continue
|
|
||||||
LogFic " - Repertoire a sauver : ${LISTREPSAUV}"
|
|
||||||
#LogFic " - Volume Nfs monté : ${VOLUME_SAUVEGARDES}"
|
|
||||||
LogFic " - Destination des sauvegardes : ${SAUVE_REPO}"
|
|
||||||
LogFic " - Rapport par Mail : ${MAIL_RAPPORT}"
|
|
||||||
#LogFic " - Backups jour : ${NB_BACKUPS_JOUR} , Backups semaines : ${NB_BACKUPS_SEM} , Backups mois : ${NB_BACKUPS_MOIS}"
|
|
||||||
LogFic "#########################################################################################################################"
|
|
||||||
LogFic " - Démarrage de la sauvegarde"
|
|
||||||
LogFic " - Log dans ${SCRIPTLOG}"
|
|
||||||
BACKUP_EXIT=0
|
|
||||||
PRUNE_EXIT=0
|
|
||||||
for REPS in ${LISTREPSAUV}
|
|
||||||
do
|
|
||||||
LogFic "Sauvegarde de ${REPS}"
|
|
||||||
Sauvegarde ${REPS}
|
|
||||||
done
|
|
||||||
LogFic "Code retour compilé de toutes les sauvegardes : ${BACKUP_EXIT}"
|
|
||||||
################################## a gérer plus tard
|
|
||||||
#LogFic " - Démarrage du nettoyage des sauvegardes"
|
|
||||||
#Purge
|
|
||||||
#LogFic " - Code retour du Nettoyage des sauvegardes (0=OK; 1=WARNING, 2=ERROR) : ${PRUNE_EXIT}"
|
|
||||||
#
|
|
||||||
########################################################################################
|
|
||||||
# On teste le code retour de la sauvegarde, on log et on envoie des mails
|
|
||||||
case "${BACKUP_EXIT}" in
|
|
||||||
'0' )
|
|
||||||
IFS=''
|
|
||||||
MESS_SAUVE_OK="
|
|
||||||
Salut
|
|
||||||
|
|
||||||
La sauvegarde est ok, ce message peut être enlevé avec la variable MAILOK=false
|
|
||||||
Que la force soit avec toi
|
|
||||||
|
|
||||||
Ton esclave des sauvegardes"
|
|
||||||
LogFic " - la sauvegarde est OK"
|
|
||||||
[ "$MAILOK" = true ] && ExpMail ${MAILSOURCE} "Sauvegarde Ok" ${MAIL_RAPPORT} ${MESS_SAUVE_OK}
|
|
||||||
IFS=' '
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
IFS=''
|
|
||||||
MESS_SAUVE_ERR="
|
|
||||||
Salut
|
|
||||||
|
|
||||||
La sauvegarde est en Erreur
|
|
||||||
Le log à consulter est ${SCRIPTLOG}
|
|
||||||
Code retour de la Sauvegarde ( code Rsync ): ${BACKUP_EXIT}
|
|
||||||
|
|
||||||
Ton esclave des sauvegardes"
|
|
||||||
LogFic " - !!!!! Sauvegarde en Erreur !!!!!"
|
|
||||||
ExpMail ${MAILSOURCE} "!!!! Sauvegarde en Erreur !!!!" ${MAIL_RAPPORT} ${MESS_SAUVE_ERR}
|
|
||||||
IFS=' '
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
LogFic " - Fin de la sauvegarde"
|
|
Loading…
Reference in New Issue
Block a user