话不多说直接上代码:

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服务相关推荐

  1. Linux监控Nginx服务,关闭就自动重启

    导读: 最近网站经常被人CC攻击,腾讯云的轻量服务器,本身防御不了CC攻击,只好把Apache换成了 Nginx,又启动了Nginx免费防火墙,服务器暂时稳定了一段时间,但Nginx程序运行一段时间后 ...

  2. Java实战:Robot脚本自动写博客

    Java实战:Robot脚本自动写博客 Java实战:Robot脚本自动写博客 Robot类 常用API 鼠标: 键盘 屏幕 控制 小技巧 实战代码 先上代码: 用法: 注意: 效果: Java实战: ...

  3. centos7日志文件_Shell 脚本自动监控重启 httpd 服务并记录日志

    环境 CentOS7 思路 设置一个死循环,执行脚本时开始启动 httpd 服务,同时开始记录当前时间,然后输出到日志中,再 sleep 14 秒,之后马上开始停止 httpd 服务,同时开始记录当前 ...

  4. java程序自动重启_java程序自动重启

    java写的cs程序,要求设置一个时间,让程序自动重启. 思路,java代码写一个定时器,每隔一秒判断是否重启,若符合条件,则创建一个新的线程,线程调用一个重启的批处理,重启批处理先停止5分钟,接着在 ...

  5. windows下bat脚本自动重启Apache服务

    问题描述 客户使用的集成环境phpstudy,上面运行的是php+apahce+mysql,经常无故apache异常导致网站无法打开,需要重启apache服务恢复.由于不方便变更基础环境,故考虑使用b ...

  6. 批处理bat脚本自动配置java的jdk环境变量

    前言 每当更换电脑或者是重装系统之后,都需要重新配置java系统路径.但是又不想每次都去查配置方法,所以写了个脚本自动配置. 脚本内容 @echo off @echo 第一步 输入要设置的JAVA_H ...

  7. 路由器php系统时间设置时间设置时间设置,华硕Padavan路由器设置定时重启_路由器自动重启脚本设置...

    之前挂aria2下了2天的东西,突然卡住了,路由器管理界面也登不进去了想起来之前内存负载很大,但是我看其中有一小半都是cache,就没管它,也不知道是不是这个原因 问下各位的路由器是几天重启一次的呢? ...

  8. python自动化脚本--自动重启android手机

    思路:通过adb reboot命令来控制android手机自动重启 #!/usr/bin/env python # -*- coding: utf-8 -*- import os import tim ...

  9. 服务器打开虚拟机电源重启,虚拟机服务器自动重启

    虚拟机服务器自动重启 内容精选 换一换 采用XEN虚拟化技术的Linux弹性云服务器,发生kdump时系统卡住无响应,不能自动重启恢复.例如,用户执行命令echo c>/proc/sysrq-t ...

最新文章

  1. 《杀破狼》:可能是华语动作电影最后的绝唱!
  2. 构建之法第四、第五章读后感
  3. 迁移ADT/ANT构建的Android项目至Gradle,a walk through。
  4. 动态备份SQL-SERVER数据库——SQLDMO
  5. hihoCoder 1227 2015 北京网络赛 A题
  6. Myeclipse学习总结(9)——MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
  7. 连肝7个晚上,总结了66条计算机网络的知识点
  8. c语言中的scanf在java中应该怎么表达,Scanner类。
  9. 2015最新Android学习线路图
  10. ad中按钮开关的符号_收藏:电路图符号大全
  11. Chrome恐龙小游戏“开挂“跑分
  12. matlab函数表达式里分号_matlab中分号、冒号、逗号等常用标点符号的功能和用法总结...
  13. 最佳学习方法(10)学习方法介绍
  14. cnzz.php,CNZZ站长统计代码报错解决方法
  15. [Java] 编码规范与基本概念
  16. 看完这篇文章,线上再遇到Jedis「Redis客户端」异常相信你不再怕了!
  17. 51单片机74HC595级联测试proteus
  18. SpringBoot (八)日志配置
  19. 项目管理高手常用的10种图表!
  20. maven中hibernate-core和struts2-core中javassist解决办法(cannot be cast to javassist.util.proxy.Proxy)

热门文章

  1. 当一名程序员喝醉之后......
  2. 一直被唱衰的 Java 没“死”,却惨遭“忽视”!
  3. Firefox 新版本发布,Cookie 可真不好吃
  4. AIoT、DevOPS、数据平台、开源,你不可不知的微软 Azure 黑科技大公开
  5. 前端的魔爪已经伸到后端了,颤抖吧后端!
  6. 腾讯向开放原子开源基金会捐赠TencentOS tiny、TKEStack两大项目!
  7. 从开发者到讲师的心路历程与必知必会 | 原力计划
  8. 华为Mate Xs预约超53万,售价16999元;微软前工程师因盗窃数字货币被判20年;FSF将推代码托管平台 | 极客头条...
  9. 代码视角深入浅出理解 DevOps | 原力计划
  10. 百面机器学习!算法工程师面试宝典!