awips2/tools/clusterAutoDeploy/auto-install-edex-server-stop.sh
root 9f19e3f712 Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 64fa9254b946eae7e61bbc3f513b7c3696c4f54f
2012-01-06 08:55:05 -06:00

147 lines
4.9 KiB
Bash
Executable file

#!/bin/sh
DATE=`date`
echo "**************************************************************************************"
echo "Auto Int Server Stop & Uninstall Started - $DATE"
echo "**************************************************************************************"
echo "Getting variables from env.txt"
. env.txt
echo "----Stopping the dataflow:----"
echo "su - ldm -c \"ldmadmin stop\""
su - ldm -c "ldmadmin stop"
echo "/etc/init.d/edex_rcm stop"
/etc/init.d/edex_rcm stop
echo "----Stopping Camel----"
echo "/etc/init.d/edex_camel stop &"
/etc/init.d/edex_camel stop &
echo "----Waiting 30 seconds for all java processes to stop----"
sleep 30
echo "----Checking to see if the EDEX Wrapper has stopped----"
echo "PID='/sbin/pidof wrapper'"
PID=`/sbin/pidof wrapper`
if [ "$PID" != "" ]
then
echo "----Found EDEX Wrapper PID killing $PID----"
echo "kill -9 ${PID}"
kill -9 ${PID}
else
echo "----No EDEX Wrapper PID found----"
fi
echo "----Checking for any java processes that did not stop correctly----"
echo "PID='/sbin/pidof java'"
PID=`/sbin/pidof java`
while [ "$PID" != "" ]
do
echo "----Found java PID killing $PID ----"
echo "`ps -p ${PID}`"
echo "kill -9 ${PID}"
kill -9 ${PID}
sleep 10
echo "PID='/sbin/pidof java'"
PID=`/sbin/pidof java`
done
echo "----No more java processes running----"
echo "----Services stopped----"
echo "----Saving Hydro Data----"
if [ -f $HYDROSAVEFILE ];then
/bin/rm -f $HYDROSAVEFILE
fi
/bin/tar -cf $HYDROSAVEFILE -C $EDEXINSTALLFOLDER/edex/data/hdf5/hydroapps precip_proc/local/data whfs/local/data
echo "---Cleaning out files from procesing, uEngine and hdf5 folders---"
# remove processing files as root user
find ${EDEXINSTALLFOLDER}/edex/data/processing -name "*" -exec rm -f {} \;
# remove uEngine files as edex user
su - ${EDEXUSER} -c "find ${EDEXINSTALLFOLDER}/edex/data/processing -name \"*\" -exec rm -f {} \;"
# for hdf5 first pass remove as root user, then remove remaining files as edex user
rm -rf ${EDEXINSTALLFOLDER}/edex/data/hdf5/hydroapps
rm -rf ${EDEXINSTALLFOLDER}/edex/data/hdf5/topo
su - ${EDEXUSER} -c "find ${EDEXINSTALLFOLDER}/edex/data/hdf5 -name \"*\" -exec rm -rf {} \;"
find ${EDEXINSTALLFOLDER}/edex/data/hdf5 -name "*" -exec rm -rf {} \;
echo "----Umounting from NAS----"
umount -l ${EDEXINSTALLFOLDER}/edex/data/processing
umount -l ${EDEXINSTALLFOLDER}/edex/data/uEngine
umount -l ${EDEXINSTALLFOLDER}/edex/data/hdf5
echo "mount -l (verify umount worked)"
mount
echo ""
echo "----Copying log files----"
echo "DATEDIR=`date +\"%m-%d-%y\"`"
DATEDIR=`date +"%m-%d-%y"`
if [ ! -d ${EDEXSERVERBACKUPLOGFOLDER}/${DATEDIR} ]
then
echo "mkdir ${EDEXSERVERBACKUPLOGFOLDER}/${DATEDIR}"
mkdir ${EDEXSERVERBACKUPLOGFOLDER}/${DATEDIR}
fi
echo "copying regular edex logs"
echo "cp -R $EDEXINSTALLFOLDER/edex/logs/* ${EDEXSERVERBACKUPLOGFOLDER}/${DATEDIR}/"
cp -R $EDEXINSTALLFOLDER/edex/logs/* ${EDEXSERVERBACKUPLOGFOLDER}/${DATEDIR}/
echo "copy the edex error logs"
echo "cp $EDEXINSTALLFOLDER/edex/bin/*.log ${EDEXSERVERBACKUPLOGFOLDER}/${DATEDIR}/"
cp $EDEXINSTALLFOLDER/edex/bin/*.log ${EDEXSERVERBACKUPLOGFOLDER}/${DATEDIR}/
echo "----Running the uninstaller----"
echo "${INSTALLERPATH}/install_files/jre-linux/bin/java -jar $EDEXINSTALLFOLDER/Uninstaller/uninstaller.jar -c -f"
${INSTALLERPATH}/install_files/jre-linux/bin/java -jar $EDEXINSTALLFOLDER/Uninstaller/uninstaller.jar -c -f
echo "----Waiting for the uninstaller to clean up the previous install.----"
TIMEOUTCOUNT=0
while [ -d $EDEXINSTALLFOLDER -a $TIMEOUTCOUNT -lt 200 ]
do
sleep 5
let TIMEOUTCOUNT=TIMEOUTCOUNT+1
echo "----${EDEXINSTALLFOLDER} folder still exists; pausing. $TIMEOUTCOUNT----"
done
if [ $TIMEOUTCOUNT = 200 ]
then
echo "****TIMED OUT WAITING FOR UNINSTALLER TO DELETE ${INSTALLFOLDER} FOLDER...****"
echo "----Killing any java processes to stop the uninstaller----"
echo "PID='/sbin/pidof java'"
PID=`/sbin/pidof java`
while [ "$PID" != "" ]
do
echo "----Found java PID killing $PID ----"
echo "`ps -p ${PID}`"
echo "kill -9 ${PID}"
kill -9 ${PID}
sleep 10
echo "PID='/sbin/pidof java'"
PID=`/sbin/pidof java`
done
echo "----No more java processes running----"
echo "----Deleting the ${EDEXINSTALLFOLDER} directory----"
rm -rf ${EDEXINSTALLFOLDER}
echo "----Sending Warning Email----"
echo "`uname -n`: At `date`, Int Server Auto Stop script failed to stop Edex normally--Uninstall was killed and the ${EDEXINSTALLFOLDER} directory was deleted manually, before continuing with the install--the server should be checked." > email.txt
mail -s "Warning EDEX Int Server uninstall failed on `uname -n`" ${EMAILLIST} < email.txt
fi
DATE=`date`
echo "--------------------------------------------------------------------------------------"
echo "Auto Int Server Stop & Uninstall Completed At $DATE"
echo "--------------------------------------------------------------------------------------"
echo ""
exit