Tomcat 自动化部署脚本
使用方法: ./autodeploy.sh test
其中autodeploy.sh 为脚本的文件名, test为war的文件名。
#!/bin/sh
now=`date +%Y%m%d%H%M%S`
echo $now
tomcat_path="/home/larry/tomcat8.0.45"
backup_path="/home/larry/tomcat8.0.45/backup"
war=$1
if [ -e $1.war ]; then
echo -e " 33[34m war achive : '$1.war' exists 33[0m"
else
echo -e " 33[31m war achive : $1.war not exists 33[0m"
exit
fi
#change color
echo -e " 33[34m"
#create backup dir
if [ ! -d "$backup_path" ]; then
mkdir "$backup_path"
fi
echo "tomcat home: $tomcat_path"
echo "backup path: $backup_path"
echo 'try to stop tomcat...'
pid=`ps aux|grep "java" | grep "$tomcat_path" | awk '{printf $2}'`
if [ -n $pid ]; then
echo "tomcat pid: $pid";
kill -9 $pid;
fi
echo 'stop tomcat finished...'
echo 'back old archive...'
echo $tomcat_path/webapps/$war.war
if [ -f "$tomcat_path/webapps/$war.war" ]; then
mv -v "$tomcat_path/webapps/$war.war" "$backup_path/$1_$now.war";
fi
rm -rf $tomcat_path/webapps/$war*
echo "copy $war.war archive to webapps.."
cp -v "$war.war" "$tomcat_path/webapps/"
echo -e " 33[32m"
echo 'startup tomcat...'
sh $tomcat_path/bin/startup.sh
tail -10f $tomcat_path/logs/catalina.out