最近正在学习写shell,记录几个简单的但是实用的例子。
需求:
生产上解压的war包中的数据库链接设置文件和开发的不同,需要替换,我们要做的是每次更新版本就去覆盖jdbc.property文件,然后重启tomcat。写一个简单的shell脚本,每次替换war包后直接执行,这样就不用手动去做那些操作了。
示例:
#!/bin/bash
#AdaGift项目的启动程序,主要是生产配置文件替换然后启动tomcat
sleep 5 #给war包解包一点时间
cd /usr/local/tomcat/apache-tomcat-8.5.9/webapps/
echo "..当前路径:$(pwd)"
cp jdbc.properties /usr/local/tomcat/apache-tomcat-8.5.9/webapps/SSMAdaGift/WEB-INF/classes #将生产的地址覆盖到已经解压的war中
echo "..替代jdbc文件完成"
if ps ax | grep -v grep | grep tomcat > /dev/null #判断tomcat是否已经启动,如果已经启动则重启,还没启动则直接启动
then
echo "..tomcat正在运行,需要关闭再启动!"
/usr/local/tomcat/apache-tomcat-8.5.9/bin/shutdown.sh
echo "..关闭中"
sleep 5
/usr/local/tomcat/apache-tomcat-8.5.9/bin/startup.sh
echo "..启动中"
else
echo "..没有检测到tomcat正在运行,可以直接启动!"
/usr/local/tomcat/apache-tomcat-8.5.9/bin/startup.sh
echo "..启动中"
fi
echo "..脚本执行完毕!"