linux 配置 tomcat 自动发布脚本
首先将打包好的 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.4 chmod 775 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 3 pid=$(ps -ef |grep java|grep ${homeDir}|awk '{print $2}') if [ -n "${pid}" ]; then echo "kill tomcat...pid = ${pid}" kill -9 ${pid} sleep 1 fi fi
同样赋予权限:
cd /usr/local/tomcat/apache-tomcat-8.5.4 chmod 775 stop.sh
为防止在调用 tomcat 命令时出现问题,在 tomcat bin 目录下 catalina.sh 中 指定 java 环境:
export JAVA_HOME=/usr/java/jdk1.7.0_79 export JRE_HOME=/usr/java/jdk1.7.0_79/jre
最后调用 deploy.sh 即可。