linux监测tomcat服务
原文链接:https://blog.csdn.net/qq_37936542/article/details/81086928
项目上线之后,tomcat服务器有时候会莫名其妙的挂掉,利用shell写一个看门狗程序,监测tomcat异常关闭后,重启服务器。
1:新建脚本文件,赋予权限
touch start.sh
chmod 755 start.sh
2:编写脚本文件
#!/bin/sh
# 自动监控tomcat并且在异常时执行重启操作
# 定义java环境变量
export JAVA_HOME=/usr/local/myApp/jdk1.8
# 获取端口号为8080的tomcat进程ID(考虑到有多个tomcat服务器,用8080关键词)
# grep -v grep 排除grep命令自带的进程id
# awk '{print $2}' 只保留结果中第二列的值
pid=$(ps -ef |grep 8080|grep -v grep|awk '{print $2}')
# tomcat启动脚本
start=/usr/local/myApp/tomcat8080/bin/startup.sh
# tomcat缓存
cache=/usr/local/myApp/tomcat8080/work
# tomcat链接地址
url=http://localhost:8080
# 监控时的日志输出
log=/tmp/my.log
#linux垃圾回收站
hole=/dev/null
function doIt()
{
if [ $pid ]
then
echo "tomcat进程ID存在"
code=$(curl -s -o $hole -m 10 --connect-timeout 10 $url -w %{http_code}"\n") #测试链接是否可以正常访问
if [ $code -eq 200 ]
then
echo "测试链接正常"
else
echo "测试链接失败,重启tomcat"
kill -9 $pid # 杀掉进程
sleep 5
rm -rf $cache # 清理tomcat缓存
$start
fi
else
echo "tomcat进程id不存在,重启中...."
rm -rf $cache
$start
fi
echo "------------------------------"
}
doIt>>$log #执行函数,并打印日志
3:设置定时执行start.sh文件
crontab -e
添加内容:
*/30 * * * * /tmp/mySh/start.sh #每30分钟执行一次
4:启动定时任务
service crond start #启动定时任务
service crond status #查看状态
service crond restart #重启定时任务
service crond stop #停止定时任务
5:查看定时任务
crontab -l
注意:某些自己用yum install xxx安装的系统命令,在shell脚本文件执行时可能会失效,这时候使用
which xxx 查看命令的安装目录,然后在shell脚本文件中使用绝对路径就ok了
参考文章:https://blog.csdn.net/zzq900503/article/details/50723191
关注「编程微刊」公众号 ,在微信后台回复「领取资源」,获取IT资源300G干货大全。
公众号回复“1”,拉你进程序员技术讨论群.
linux监测tomcat服务的更多相关文章
- Linux下tomcat服务
一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...
- linux下tomcat服务的启动、关闭与错误跟踪
linux下tomcat服务的启动.关闭与错误跟踪,远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务: 1).启动tomcat服务 进入tomcat主目录下的bin目录,然后执行如下 ...
- linux下tomcat服务的相关命令
一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...
- PuTTy linux下tomcat服务的相关命令
一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...
- 转:Linux中tomcat服务成功发布但局域网浏览器无法访问
转自:http://blog.csdn.net/mooncom/article/details/53168143 昨天,我在搭建Linux中服务器环境时,碰见一个问题,这里和大家分享一下. 问题描述: ...
- Linux(CENTOS7) Tomcat服务成功发布但局域网浏览器无法访问
问题 : 我在linux搭建了一个tomcat服务器,tomcat开启后,发现在局域网浏览器上无法访问该tomcat,浏览器报无法访问服务器错误,我查看了tomcat的日志,路径..../tomcat ...
- linux篇-linux 下tomcat服务每天定时启动
1l先准备一个脚本 #!/bin/sh #./etc/profile export JAVA_HOME=/usr/java/jdk1.6.0_45 sh /home/tomcat-bingchuang ...
- Linux部署tomcat服务常用命令
cd / 转到根目录 ps -ef|grep tomcat查看进程 ./bin/shutdown.sh 关闭 rm -r logs/* 清除日志 ps -ef|grep tomcat查看进程 ./bi ...
- linux下启动和关闭tomcat服务的方式
Linux下tomcat服务的启动.关闭与错误跟踪,通常通过以下几种方式启动关闭tomcat服务: 切换到tomcat主目录下的bin目录 启动tomcat服务 生产模式: 方式一:直接启动 ./st ...
随机推荐
- DF标志和串移动指令(movsb/movsw)
1.标志寄存器的第10位DF,方向标志位.在串处理指令中,控制每次操作后si,di的增减 DF=0,每次操作后,si.di添加 DF=1,每次操作后,si.di减小 我们能够用汇编语法描写叙述movs ...
- 怎样给UINavigationBar加入button?
Mads Mobæk:给UINavigationBar加入button的演示样例代码 1 2 3 4 5 6 7 8 UIBarButtonItem *rightButton = [[UIBarBut ...
- IIS集成和经典配置
检測到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能执行提示下面错误: HTTP 错误 500. ...
- CO-PRIME(初探 莫比乌斯)NYOJ1066(经典)gcd(a,b)=1
CO-PRIME 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 This problem is so easy! Can you solve it? You are ...
- HtmlHelper的扩展分页方法
一.新建一个空MVC项目,命名为MVCAppPager 二.新建一个文件夹PageHelper,在文件夹下新建接口IPageList以及实现类PageList IPageList接口: public ...
- 分析一下jquery中的ajax操作
在web前端开发中,ajax是很重要的一项技术,用原生写起来很是麻烦,需要一大堆js代码,而到了jq里就被精简了许多,一起来看看: jquery中的ajax分为三种方式: 1.$.get(),get方 ...
- Spring Security 4 Method security using @PreAuthorize,@PostAuthorize, @Secured, EL--转
原文地址:http://websystique.com/spring-security/spring-security-4-method-security-using-preauthorize-pos ...
- JavaScript笔记(4)
接上一篇笔记 -----> 打印: 打印: 打印: 一.break 和 continue 的区别 1.break 1.break语句可用于跳出循 ...
- 【Linux下自定义Shell终端提示符】
目录 基本转义符 字体颜色 背景颜色 移动光标 @ Linux系统终端提示符的特征由系统环境变量 PS1(Prompt String One)定义. 我们可以通过命令echo $PS1来查看当前设置, ...
- 【Henu ACM Round#17 D】Hexagons!
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 题目的图吓人. 找下规律就会发现从内到外是1,6,12,18 即1,16,26,36... 即1+6(1+2+3+...) 等差求和 ...