- 论坛徽章:
- 0
|
DATE_TIME=`date +%Y%m%d_%H%M%S`
BASE_DIR=<%= basedir %>
PUPPET_DIR=<%= puppetdir %>
WEB_DIR=<%= docbase %>
BACKUP_FILE=<%= backupdir %>/newwap.$DATE_TIME.tar.gz
WAR_FILE=$PUPPET_DIR/newwap.war
INSTANCES=(<%= instances %>)
PREFIX=$BASE_DIR/project
ERROR_COUNT_START=0
ROUND=10
LENGTH=${#INSTANCES[@]}
# backup project
backup(){
echo "1) Backup files."
cd $WEB_DIR
tar -czf $BACKUP_FILE *
}
# stop tomcat instances
stop(){
echo "2) Stop tomcat instances."
for i in ${INSTANCES[@]}
do
$PREFIX/$i/tomcat.sh stop &
sleep 5
done
sleep 5
for ((n=1;n<=$ROUND;n++));do
c=0
for i in ${INSTANCES[@]};do
PID=`ps -ef | grep $PREFIX/$i | grep -v grep | awk '{print $2}'`
if [ -z $PID ];then
c=`expr $c + 1`
fi
done
if [ $c -eq $LENGTH ];then
echo "All tomcat instances stop successful."
break
else
if [ $n -eq $ROUND ];then
for i in ${INSTANCES[@]};do
PID=`ps -ef | grep $PREFIX/$i | grep -v grep | awk '{print $2}'`
if [ -n "${PID}" ];then
echo "Tomcat instance ${i}(pid=${PID}) still alive, try to kill."
kill -9 $PID
fi
done
fi
sleep 3
fi
done
}
# redeploy
redeploy(){
echo "3) Deploy new project and clean old files."
rm -rf $WEB_DIR/*
unzip -oq $WAR_FILE -d $WEB_DIR
echo "Deploy new project successful."
for i in ${INSTANCES[@]}
do
rm -rf $PREFIX/$i/work/*
mv $PREFIX/$i/logs/catalina.out $PREFIX/$i/logs/catalina.out.$DATE_TIME
echo "Clean tomcat instance ${i}'s temp files successful."
done
}
# start tomcat instances
start(){
echo "4) Start tomcat instances and check start info."
for i in ${INSTANCES[@]}
do
$PREFIX/$i/tomcat.sh start &
done
sleep 60
for i in ${INSTANCES[@]}
do
if [ `grep "ERROR" $PREFIX/$i/logs/catalina.out | wc -l` != 0 ];then
echo "ERROR: tomcat instance ${i} starts with errors!"
ERROR_COUNT_START=`expr $ERROR_COUNT_START + 1`
else
echo "Start tomcat instance ${i} successful."
fi
done
}
echo "There are 4 steps."
source /home/java/.bash_profile
export LANG=<%= lang %>
export JAVA_OPTS="$JAVA_OPTS -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8"
backup
stop
redeploy
start
if [ $ERROR_COUNT_START != 0 ];then
echo "Some tomcats start with errors!"
exit 1
fi
echo "Finish All Steps!"
exit 0
|
|