Linux下部署crontab 监控 Tomcat 运行

参考众多大佬总结以下步奏:

1.创建监控文件夹 /u01/java/MonitorServer 、/u01/java/MonitorServer/log 赋权777

2.进入文件夹/u01/java/MonitorServer 创建脚本

touch  MonitorServer.sh

chmod 7777 MonitorServer.sh

3.编辑脚本文件可以直接 vim MonitorServer.sh 然后对应修改 也可以在本地自建文件或者下载文件到本地编辑 但在本地编辑上传后需要执行 sed 's/\r//' -i MonitorServer.sh 去除换行或者空格

编辑脚本 需要注意的地方有几个 自己的java_home路径、需要监控的Tomcat路径、需要监控的Tomcat文件夹全称、监控日志的输出位置、项目访问的接口-可以在Tomcat 的 server.xml 查看

确定后修改脚本这几个位置 然后保存 服务器上编辑直接 ESC :wq ,本地保存前先把文件编码格式修改为UTF-8 、文件类型设置为 UNIX-shell、格式为.sh然后上传

4.执行 ./MonitorServer.sh 后进入 log文件夹查看是否有日志生成 如果报错 百度原因

5.在root账户下先安装crontab

然后 crontab -e 按Insert键 复制

#防止发送邮件,设置MAILTO参数为空
MAILTO=""

*/2 * * * * /mnt/tomcat/MonitorServer/MonitorServer.sh 

#两分钟执行一次脚本

按Shift+Insert 黏贴 ESC :wq 保存退出

service crond reload 重载设置

service crond restart 重启定时

6.两分钟后观察log是否生成

以下为相关脚本 注意需要替换内容:

#!/bin/sh
# 自动监控tomcat并且在异常时执行重启操作
# 定义java环境变量
export JAVA_HOME=/u01/java/jdk1.7.0_80

# 获取tomcat的PID
TOMCAT_PID=$(ps -ef|grep tomcat|grep -w 'apache-tomcat-8.5.68'|grep -v 'grep'|awk '{print $2}')
     
# tomcat的启动文件位置
START_TOMCAT=/u01/java/apache-tomcat-8.5.68/bin/startup.sh

# 需要监测的一个GET请求地址
MONITOR_URL=http://localhost:8080/

# 监测日志输出路径
TOMCAT_MONITOR_LOG=/u01/java/MonitorServer/log/tomcatMonitor.log

Monitor()
{
# 输出时间,注意date后有个空格
echo "[$(date +'%F %H:%M:%S')]"
echo "[info]开始监控tomcat..."

# 判断tomcat的PID是否存在,如不存在说明tomcat进程已关闭,注意[]前后,变量前后,都要有空格
if [[ $TOMCAT_PID ]];
then
echo "[info]当前tomcat的PID为:$TOMCAT_PID,继续监测页面..."
# 向监测的地址发送请求并获取响应码
HTTP_REPONSE_STATUS=$(curl -l -m 10 -o /dev/null -s -w %{http_code} $MONITOR_URL)

# 如果响应码为200证明tomcat在正常启用
if [[ $HTTP_REPONSE_STATUS -eq 200 ]];
then
echo "[info]tomcat启动正常..."
else
echo "[error]页面返回码为$HTTP_REPONSE_STATUS,开始重启tomcat..."

# 结束tomcat进程
kill -9 $TOMCAT_PID

# 5秒后重启tomcat
sleep 5
$START_TOMCAT

fi

else
echo "[error]tomcat进程不存在,开始启动..."
echo "[info]$START_TOMCAT,..."

$START_TOMCAT
fi
echo "监测执行完成"
}
# 输出到指定文件中
Monitor>>$TOMCAT_MONITOR_LOG

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值