首先将打包好的 war 包(举例 management-20160809-1.0.war),传到 tomcat 的 webapps 目录下,然后在 tomcat 目录下新建 deploy.sh 脚本。
#!/bin/sh
homeDir="/usr/local/tomcat/apache-tomcat-8.5.4/"
webappsDir="/usr/local/tomcat/apache-tomcat-8.5.4/webapps/"
sh ${homeDir}stop.sh
cd ${webappsDir}
for i in $(ls *management*.war)
do
echo "delete management..."
rm -rf management
echo "${i}..."
echo "rename project..."
mv $i management.war
echo "unzip management.war..."
unzip -n management.war -d managementecho "backup management..."
cp -avx ${webappsDir}management.war ${homeDir}backup/management
echo "delete management.war..."
rm -f management.war
break
done
echo "startup tomcat..."
sh ${homeDir}bin/startup.sh
同时给 deploy.sh 脚本赋予相应的权限:
cd /usr/local/tomcat/apache-tomcat-8.5.
chmod deploy.sh
到时候 调用 deploy.sh 即可。
同时有一个停止 tomcat 的脚本 stop.sh :
homeDir="/usr/local/app/tomcat7/"
pid=$(ps -ef |grep java|grep ${homeDir}|awk '{print $2}')
if [ -n "${pid}" ]; then
echo "Shutdown..."
sh ${homeDir}bin/shutdown.sh
sleep
pid=$(ps -ef |grep java|grep ${homeDir}|awk '{print $2}')
if [ -n "${pid}" ]; then
echo "kill tomcat...pid = ${pid}"
kill - ${pid}
sleep
fi
fi
同样赋予权限:
cd /usr/local/tomcat/apache-tomcat-8.5.
chmod stop.sh
为防止在调用 tomcat 命令时出现问题,在 tomcat bin 目录下 catalina.sh 中 指定 java 环境:
export JAVA_HOME=/usr/java/jdk1..0_79
export JRE_HOME=/usr/java/jdk1..0_79/jre
最后调用 deploy.sh 即可。