#!/bin/ksh #____________________________________________________________________________ # FONCTION : INIT # # DESCRIPTION : Declaration des variables et variables d'environnement # utilisees dans le script # # ENTREE : Aucune # # SORTIE : Aucune # #____________________________________________________________________________ INIT() { echo "\nPreparation de l'environement\n" PATH=/usr/bin:/usr/sbin:/sbin:/opt/VRTS/bin:/opt/VRTSob/bin:/etc/vx/bin:/usr/lib/vxvm/bin:$PATH export PATH MANPATH=/opt/VRTS/man:$MANPATH export MANPATH cr=/var/tmp/cr_upgrade_`date '+%y-%m-%d'`.log ERRR="\033[01;31mERR: \c" INFO="INFO: \c" WARN="\033[01;33mWARN: \c" ERRRCR="ERR: \c" INFOCR="INFO: \c" WARNCR="WARN: \c" BLANC="\033[0m\c" VERT="\033[01;32m" ETAPE_OK="${VERT}OK\033[0m" } #____________________________________________________________________________ # FONCTION : AFFICHE # # DESCRIPTION : Affiche un message sur la console avec un code couleur # # ENTREE : $1 : Type du message (error, warning, info) # $2 : Chaine a afficher # # SORTIE : Aucune # #____________________________________________________________________________ AFFICHE() { type_message=$1 message=$2 echo ${type_message} echo ${message} echo ${BLANC} } #____________________________________________________________________________ # FONCTION : CONTINUE # # DESCRIPTION : Demande confirmation a l'utilisateur de la poursuite du # script # # ENTREE : Aucune # # SORTIE : Aucune # #____________________________________________________________________________ CONTINUE() { echo "\nContinuer l'upgrade(y/n) \c" read ANS if [ "${ANS}" = "n" ] || [ "${ANS}" = "N" ] then echo "\nAbandon" echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Abandon de l'operation" >> $cr echo "\nLe compte rendu de l'operation a ete genere sous $cr" exit 0 elif [ "${ANS}" = "y" ] || [ "${ANS}" = "Y" ] then return 1 else CONTINUE fi } #____________________________________________________________________________ # FONCTION : FIRST_STOP_ETRUST, Operation 1 du menu # # DESCRIPTION : Arret des process Etrust # # ENTREE : Aucune # # SORTIE : Aucune # #____________________________________________________________________________ FIRST_STOP_ETRUST() { echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Arret des process Etrust" >> $cr echo "Execution du script d arret" /usr/seos/bin/secons -s echo "Kill des deux processus selogrd serevu " kill -9 `ps -ef|awk '$NF ~ /serevu/ {print $2 }'` kill -9 `ps -ef|awk '$NF ~ /selogrd/ {print $2 }'` echo "Status_Etape_1=\"$ETAPE_OK\"" >> /var/tmp/operations.status echo "Appuyer sur ENTER pour continuer" read clear MENU } #____________________________________________________________________________ # FONCTION : SAVE_ETRUST , Operation 2 du menu # # DESCRIPTION : Sauvegarde de la base eTrust # # # ENTREE : Aucune # # SORTIE : Aucune # # REMARQUE : Aucune #____________________________________________________________________________ SAVE_ETRUST() { echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Sauvegarde de la base eTrust" >> $cr /varsoft/etrust/backup_*/eAC_BackUp.ksh echo "sauvegarde de la base eTrust" echo "Status_Etape_2=\"$ETAPE_OK\"" >> /var/tmp/operations.status echo "Appuyer sur ENTER pour continuer" read clear MENU } #____________________________________________________________________________ # FONCTION : SECOND_STOP_ETRUST, Operation 3 du menu # # DESCRIPTION : Arret des process Etrust # # ENTREE : Aucune # # SORTIE : Aucune # #____________________________________________________________________________ SECOND_STOP_ETRUST() { echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Arret des process Etrust" >> $cr echo "Execution du script d arret" /usr/seos/bin/secons -s echo "Kill des deux processus selogrd serevu " kill -9 `ps -ef|awk '$NF ~ /serevu/ {print $2 }'` kill -9 `ps -ef|awk '$NF ~ /selogrd/ {print $2 }'` echo "Status_Etape_3=\"$ETAPE_OK\"" >> /var/tmp/operations.status echo "ATTENTION Si Message erreur" echo "kill: bad ou /usr/seos/bin/secons: cannot execute" echo "quitter le script TAPER q" echo "Faire Une nouvelle connexion nominative sur le serveur" echo "Lancer le script upgrade_system" echo "Refaire Operation code 3" echo "Appuyer sur ENTER pour continuer" read clear MENU } #____________________________________________________________________________ # FONCTION : RM_PKG_ETRUST , Operation 4 du menu # # DESCRIPTION : Suppression du package ETRUST # # # ENTREE : Aucune # # SORTIE : Aucune # # REMARQUE : Reboot necessaire a la fin de l'operation #____________________________________________________________________________ RM_PKG_ETRUST() { echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Sauvegarde de la base eTrust" >> $cr echo "Suppression du package eTrust" pkgrm CSItrust echo "Status_Etape_4=\"$ETAPE_OK\"" >> /var/tmp/operations.status echo "\nSi OK, redemarrage du serveur : 'init 6'" } #____________________________________________________________________________ # FONCTION : CHANGE_SYSTEM, Operation 5 du menu # # DESCRIPTION : Modification du fichier /etc/system # # ENTREE : Aucune # # SORTIE : Aucune # # REMARQUE : Reboot necessaire a la fin de l'operation #____________________________________________________________________________ CHANGE_SYSTEM() { echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Modification du fichier /etc/system" >> $cr cp /etc/system.new /etc/system echo "\nRebooter le serveur pour prise en compte : 'reboot -- -r'" echo "Status_Etape_5=\"$ETAPE_OK\"" >> /var/tmp/operations.status } #____________________________________________________________________________ # FONCTION : INSTALL_PKG_ETRUST, Operation 6 du menu # # DESCRIPTION : Installation du package Etrust # # ENTREE : Aucune # # SORTIE : Aucune # # REMARQUE : Reboot necessaire a la fin de l'operation #____________________________________________________________________________ INSTALL_PKG_ETRUST() { echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Installation du package Etrust" >> $cr mount -o soft su0349svg2:/catalog/socle /mnt cd /mnt/STE6/Packages/5.8/Base/ETRUST pkgadd -d . CSItrust echo "\nSi OK, redemarrage du serveur : 'init 6'" echo "Status_Etape_6=\"$ETAPE_OK\"" >> /var/tmp/operations.status } #____________________________________________________________________________ # FONCTION : RESTORE_ETRUST, Operation 7 du menu # # DESCRIPTION : Restauration de la base et de la config eTrust # # ENTREE : Aucune # # SORTIE : Aucune #____________________________________________________________________________ RESTORE_ETRUST(){ echo "\n--------------------------------------------------------------------------------" >> $cr echo `date '+%h %d %H:%M:%S'` ": Restauration de la base et de la config eTrust" >> $cr /varsoft/etrust/backup_*/eAC_Restore.ksh echo "Status_Etape_7=\"$ETAPE_OK\"" >> /var/tmp/operations.status echo "Appuyer sur ENTER pour continuer" read clear MENU } #____________________________________________________________________________ # FONCTION : MENU # # DESCRIPTION : Affiche la liste des operations a realiser pour l'upgrade # # ENTREE : Aucune # # SORTIE : Aucune # #____________________________________________________________________________ MENU() { if [ -f /var/tmp/operations.status ] then . /var/tmp/operations.status fi echo "\n-----------------------------------------------------------------------------------" echo "Quelle operation souhaitez vous effectuer" echo "\t1\tArreter les process eTrust\t\t\t\t: $Status_Etape_1" echo "\t2\tSauvegarder la base eTrust\t\t\t\t: $Status_Etape_2" echo "\t3\tArreter les process eTrust\t\t\t\t: $Status_Etape_3" echo "\t4\tsuppression du package eTrust\t\t\t\t: $Status_Etape_4" echo "\t5\tModifier le fichier /etc/system\t\t\t\t: $Status_Etape_5" echo "\t6\tInstaller le package eTrust\t\t\t\t: $Status_Etape_6" echo "\t7\tRestaurer la base eTrust\t\t\t\t: $Status_Etape_7" echo "\tq\tQuitter" echo "-----------------------------------------------------------------------------------" echo "\nCode de l'operation a realiser :\c" read ANS case $ANS in 1) FIRST_STOP_ETRUST ;; 2) SAVE_ETRUST ;; 3) SECOND_STOP_ETRUST ;; 4) RM_PKG_ETRUST ;; 5) CHANGE_SYSTEM ;; 6) INSTALL_PKG_ETRUST ;; 7) RESTORE_ETRUST ;; q) echo "\nAbandon de l'upgrade" echo "Fin de l'upgrade" >> $cr ;; *) clear echo "Operation inconnue" MENU ;; esac } INIT clear MENU echo "\nLe compte rendu de l'upgrade a ete genere sous $cr" exit 0