Ensemble des services de KAZ
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

163 lines
5.0 KiB

#!/bin/bash
# Script de relance des dockers Nextcloud des Orgas
# Permet de lancer la commande d' optimisation des clouds
# Permet de connaitre la version des clouds
# Permet de relancer les dockers en mode a chaud ou à froid ( docker restart ou docker-compose down et up)
# lancer le script san arguments pour optenir de l' aide
#
KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
. $KAZ_ROOT/bin/.commonFunctions.sh
setKazVars
. $DOCKERS_ENV
. $KAZ_ROOT/secret/SetAllPass.sh
PRG=$(basename $0)
RACINE=$(echo $PRG | awk '{print $1}')
TEMPO_ACTION_STOP=2
TEMPO_ACTION_START=120
LIST_CLOUDS=$(ls /var/lib/docker/volumes/ | grep -i orga | grep -i cloudMain| sed -e 's/-cloudMain$//g' | sed -e 's/^orga_//')
NB_CLOUDS=$(ls /var/lib/docker/volumes/ | grep -i orga | grep -i cloudMain| sed -e 's/-cloudMain$//g' | sed -e 's/^orga_//' | wc -l )
COMPTEUR=$NB_CLOUDS
# On ne met pas le -ti dans la ligne avec docker exec pour l'update
# Ceci afin de permettre son lancement en cron
UpdateApplis() {
echo -e "${NC}"
echo "Mise à jour de toutes les applis installées y compris le cloud Principal"
for CLOUD in ${LIST_CLOUDS}
do
echo -e "${GREEN}${COMPTEUR}/${NB_CLOUDS} : ${CLOUD} "
echo -e "${NC}"
docker exec -u 33 ${CLOUD}-nextcloudServ /var/www/html/occ app:update --all
COMPTEUR=$(expr $COMPTEUR - 1)
done
echo -e "${GREEN} Mise à jour des applis du cloud principal "
echo -e "${NC}"
docker exec -u 33 nextcloudServ /var/www/html/occ app:update --all
}
Optimise_Cloud() {
echo "--------------------------------------------------------"
echo "${NC}Optimisation des cloud"
echo "--------------------------------------------------------"
for CLOUD in ${LIST_CLOUDS}
do
echo -e "$RED${CLOUD} (${COMPTEUR}/${NB_CLOUDS}) "
echo -e "$GREEN execution de :occ db:add-missing-indices"
docker exec -ti -u 33 ${CLOUD}-nextcloudServ /var/www/html/occ db:add-missing-indices
docker exec -ti -u 33 ${CLOUD}-nextcloudServ /var/www/html/occ db:convert-filecache-bigint --no-interaction
COMPTEUR=$(expr ${COMPTEUR} - 1)
done
echo "${NC}"
}
restart-compose() {
echo "--------------------------------------------------------"
echo "${NC} Arret / Relance de ${NB_CLOUDS} orga(s)"
echo "--------------------------------------------------------"
for CLOUD in ${LIST_CLOUDS}
do
echo "${RED}- ${CLOUD}-orga${NC}($COMPTEUR/$NB_CLOUDS)"
cd /kaz/dockers/$CLOUD-orga
echo -n "${NC}Arrêt ... "
docker-compose stop cloud
sleep ${TEMPO_ACTION_STOP}
echo "${GREEN}OK"
echo -n "${NC}Démarrage ... "
docker-compose up -d cloud
echo "${GREEN}OK"
COMPTEUR=$(expr $COMPTEUR - 1)
done
sleep ${TEMPO_ACTION_START}
reloadProxy
echo "${NC}"
echo "--------------------------------------------------------"
echo "${GREEN}FIN${NC} "
echo "--------------------------------------------------------"
}
restart() {
echo "--------------------------------------------------------"
echo "${NC} Arret / Relance de ${NB_CLOUDS} orga(s)"
echo "--------------------------------------------------------"
for CLOUD in ${LIST_CLOUDS}
do
echo "${RED} ${CLOUD}-orga ${NC}($COMPTEUR/$NB_CLOUDS)"
echo -n "${NC}Redemarrage ... "
docker restart $CLOUD-nextcloudServ
echo "${GREEN}OK"
COMPTEUR=$(expr $COMPTEUR - 1)
done
reloadProxy
echo "${NC}"
echo "--------------------------------------------------------"
echo "${GREEN}FIN${NC} "
echo "--------------------------------------------------------"
}
reloadProxy() {
echo "${NC}"
availableProxyComposes=($(getList "${KAZ_CONF_DIR}/container-proxy.list"))
for item in "${availableProxyComposes[@]}"; do
${KAZ_COMP_DIR}/${item}/reload.sh
done
}
version() {
for CLOUD in ${LIST_CLOUDS}
do
VERSION_CLOUD=$(docker exec -ti -u 33 ${CLOUD}-nextcloudServ /var/www/html/occ status | grep -i version:)
VERSION_UPDATE=$(docker exec -ti -u 33 ${CLOUD}-nextcloudServ /var/www/html/occ update:check | grep -i "available\." | cut -c 1-17)
echo -e "-($COMPTEUR/$NB_CLOUDS): ${CLOUD}-orga ${GREEN}${VERSION_CLOUD}${NC} "
if [ ! -z "${VERSION_UPDATE}" ]
then
echo -e "\t -Version disponible : ${RED} ${VERSION_UPDATE} ${NC}"
fi
COMPTEUR=$(expr $COMPTEUR - 1)
done
}
usage() {
echo "${PRG} -v -r -t -h
quand :
-v Donne la version des clouds et signale les MàJ
-o Lance la procédure Nextcloud pour optimiser les performances
-u Mets à jour les apllis des clouds
-t Dans le cas d' une mise à jour , redémarre avec tempo tous les dockers des orga ( docker-compose )
-r Redémarre tous les dockers des orga ( docker restart )
-h Cette aide :-)"
}
########## Main #################
[ -z "$1" ] && { usage;exit; }
case "$1" in
'-o' )
Optimise_Cloud
exit
;;
'-v' )
version
exit
;;
'-t' )
restart-compose
exit
;;
'-u' )
UpdateApplis
exit
;;
'-r' )
restart
exit
;;
'-h' )
usage
;;
esac