概述
话不多说直接上代码:
cd /home/javaProduct/
if [ -d '/home/javaProduct/lib_new/' ]; then
echo 'Has New Lib!'
echo '--------------Begin Stop JavaService----------------'
edocid=$(jps |grep JavaService | awk '{print $1}')
echo $edocid
kill -9 $edocid
echo '--------------Begin Move Lib------------------------'
mv /home/javaProduct/lib/ /home/javaProduct/lib_prev
echo '--------------End Move Lib--------------------------'
echo '--------------Begin Move Lib_New--------------------'
mv /home/javaProduct/lib_new/ /home/javaProduct/lib/
echo '--------------End Move Lib_New----------------------'
echo '--------------Begin Start Service-------------------'
nohup ./appServer.sh start
echo '--------------End Start Service---------------------'
echo '--------------Begin Move Lib_Prev-------------------'
time2=$(date "+%Y%m%d%H%M%S")
hislib1='/home/javaProduct/lib_'
hislib2=$hislib1$time2
mv /home/javaProduct/lib_prev/ $hislib2
echo '--------------End Move Lib_Prev---------------------'
echo '--------------End Stop JavaService------------------'
else
echo 'No Lib_New'
fi
另外这里还要提到dos2unix来将windows编写shell脚本转换为Linux的,要不上传上去不能用。
由于在DOS(windows系统)下,文本文件的换行符为CRLF,而在Linux下换行符为LF,使用git进行代码管理时,git会自动进行CRLF和LF之间的转换,这个我们不用操心。而有时候,我们需要将windows下的文件上传到linux上,例如shell脚本,执行的时候有时会出现奇怪的问题,这时候,就需要安装dos2unix软件,centos下:
yum install -y dos2unix
安装完成后,对文件进行转换
dos2unix abc.sh
现在执行就不会出问题了
补充,自动重启Tomcat的脚本
cd /home/edocProduct/tomcat/binif [ -f "/home/edocProduct/tomcat/webapps/ROOT.war.new" ]; then
echo "Has New War!"
echo "------------Begin Stop Tomcat---------------"
for i in $(ps -ef|grep tomcat | awk '{print $3"+"$2}');do
if [ ${i%+*} = "1" ]; then
echo$iecho ${i#*+}kill -9 ${i#*+}echo "---------------------Begin Move ROOT.war-----------------------"
mv /home/edocProduct/tomcat/webapps/ROOT.war /home/edocProduct/tomcat/webapps/ROOT.war.prevecho "---------------------End Move ROOT.war-------------------------"
echo "---------------------Begin Move ROOT.war.new-------------------"
mv /home/edocProduct/tomcat/webapps/ROOT.war.new /home/edocProduct/tomcat/webapps/ROOT.warecho "---------------------End Move ROOT.war.new---------------------"
echo "---------------------Begin Start Tomcat------------------------"nohup ./startup.sh
echo "---------------------End Start Tomcat--------------------------"
echo "---------------------Begin Move ROOT.prev----------------------"time2=$(date "+%Y%m%d%H%M%S")
hislib1='/home/edocProduct/tomcat/webapps/ROOT.war'hislib2=$hislib1$time2mv /home/edocProduct/tomcat/webapps/ROOT.war.prev $hislib2echo "---------------------End Move ROOT.war.prev--------------------"
echo "---------------------End Stop Tomcat---------------------------"
fi
done;else
echo 'No ROOT.war.new'
fi
最后
以上就是眼睛大大树为你收集整理的java服务 重启_Shell脚本自动重启Java服务的全部内容,希望文章能够帮你解决java服务 重启_Shell脚本自动重启Java服务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复