欢迎来到IDC91站长网!
解决服务器各种技术问题,加微信uecomzsr

Linux

当前位置: IDC91 > 服务器教程 > Linux

Linux中使用Crontab定时监测维护Tomcat应用程序的方法

时间:2022-05-27 00:11:07|栏目:Linux|点击:

监测的应用接口: 新闻接口、天气接口
处理方法:应用接口不可用时自动重启Tomcat,并发送告警邮件给相关人员

#!/bin/bash
#---------------------------------------------------------
# 功能说明:
#	监控指定HTTP服务是否可用,如果不可用立即重启Tomcat
#
# 使用说明:
#	1. 将此脚本放置在/home/opentsp/crontab/目录下。
#	2. 修改脚本执行权下为可执行权限。
#	3. 添加到定时任务中,定时执行时间(建议为20分钟)
#	4. 修改邮件发送人员信息列表(当服务重启时发邮件给相关人员)
#                    - 周凌飞(2014-08-13)
#---------------------------------------------------------
export LC_ALL=zh_CN.UTF-8

#网站地址、参数
SERVER_NAME="趣驾云接口服务"
URL_2="http://127.0.0.1/get_rss_news?p=%7b%27chId%27:%27TIYU%27%7d"
KeyWorld_2=''
URL_3="http://127.0.0.1/get_json_weather?p=%7blon:116.407617,lat:39.993956,date:1%7d"
KeyWorld_3='temperature'

#邮件发送列表
mail_ary=(
xxxxxxxxx@navinfo.com
xxxxxxxxx@navinfo.com
xxxxxxxxx@navinfo.com
)

#接口调用失败的处理方法
function doFail(){
	local ipinfo=$(ifconfig |sed -n '2p'|awk '{print substr($2,6)}');
	# 发送邮件
	for _v in ${mail_ary[*]} ; do
		echo "[$SERVER_NAME 异常] - [$(date -d "0 min" +"%Y-%m-%d %H:%M:%S")] - [请求地址: $1] - [请求返回码: $2]" | mail -s ${ipinfo}服务异常 ${_v}
	done
	# 写入日志
	echo "[ERROR] - [$(date -d "0 min" +"%Y-%m-%d %H:%M:%S")] - 返回码[$2] - 重启Tomcat服务" >> detect-http.log
	# 关闭Tomcat
	sh /home/opentsp/crontab/ibr-shutdown.sh
	exit;
}

#请求超时时间设置
TIME_OUT=40
function doCheck(){
	local URL_X=$1;
	local KeyWorld_X=$2;
	HTTP_STATUS_CODE=`curl -m $TIME_OUT -o /dev/null -s -w "%{http_code}" "${URL_X}"`
	if [ $HTTP_STATUS_CODE != 200 ];then
		#请求失败
		echo "-> Fail - 返回码${HTTP_STATUS_CODE}";
		doFail ${URL_X} ${HTTP_STATUS_CODE};
	else
		#服务器正常响应,检查返回内容
		if curl -m ${TIME_OUT} -s ${URL_X} | grep -q ${KeyWorld_X};then
			echo "-> SUCCESS";
		else
			echo "->> Fail";
			# 返回内容错误处理
			doFail ${URL_X} ${HTTP_STATUS_CODE};
		fi
	fi
}

#
#检查 - 新闻
doCheck ${URL_2} ${KeyWorld_2}
#检查 - 天气
doCheck ${URL_3} ${KeyWorld_3}</pre></p>
      </div>
      <div class="pagebreak"></div>
    </div>
    <!--<div class="ban_838_1"><img src="" width="838" height="90"></div>-->
    <div class="b_box5">
      <p>  <a href='/fuwuqizl/2356.html' title='linux下的守护进程'> 上一篇:linux下的守护进程 </a>  </p>
      <p>栏    目:<a href="/Linux/">Linux</a></p>
      <p>  <a href='/fuwuqizl/2358.html' title='CentOS下停止Tomcat运行脚本代码'> 下一篇:CentOS下停止Tomcat运行脚本代码 </a>  </p>
      <p>本文标题:<a href="https://idc91.com/fuwuqizl/2357.html" target="_blank">Linux中使用Crontab定时监测维护Tomcat应用程序的方法</a></p>
      <p>本文地址:https://idc91.com/fuwuqizl/2357.html</p>
      <div class="share"> <em>分享到:</em>
        <div class="bdsharebuttonbox"><a href="#" class="bds_more" data-cmd="more"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a><a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a><a href="#" class="bds_tieba" data-cmd="tieba" title="分享到百度贴吧"></a><a href="#" class="bds_sqq" data-cmd="sqq" title="分享到QQ好友"></a><a href="#" class="bds_bdhome" data-cmd="bdhome" title="分享到百度新首页"></a><a href="#" class="bds_qingbiji" data-cmd="qingbiji" title="分享到轻笔记"></a><a href="#" class="bds_bdysc" data-cmd="bdysc" title="分享到百度云收藏"></a><a href="#" class="bds_mshare" data-cmd="mshare" title="分享到一键分享"></a><a href="#" class="bds_copy" data-cmd="copy" title="分享到复制网址"></a></div>
        <script>
                window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"1","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
                </script> 
      </div>
    </div>
    <div class="b_box6"><a href="/Linux/">更多Linux</a></div>
    <div class="b_box7"></div>
    <div class="g_box2">
      <div class="t_1">
        <h3>您可能感兴趣的文章</h3>
      </div>
      <ul class="b_box4 clearfix">
                <li><span>05-10</span><a href="/fuwuqizl/4988.html" title="Ubuntu系统安装ANSYS2021R1">Ubuntu系统安装ANSYS2021R1</a></li>
                <li><span>05-10</span><a href="/fuwuqizl/4987.html" title="ANSYS2021R1安装方法Linux centos Ubuntu系统">ANSYS2021R1安装方法Linux centos Ubuntu系统</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4956.html" title="Linux中一对多配置日志服务器的详细步骤">Linux中一对多配置日志服务器的详细步骤</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4957.html" title="linux服务器安装SonarQube代码检测工具的详细步骤">linux服务器安装SonarQube代码检测工具的详细步骤</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4954.html" title="Apache自带的ab压力测试工具的实现">Apache自带的ab压力测试工具的实现</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4955.html" title="apache虚拟主机配置的三种方式(小结)">apache虚拟主机配置的三种方式(小结)</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4953.html" title="Linux在两个服务器直接传文件的操作方法">Linux在两个服务器直接传文件的操作方法</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4951.html" title="xshell5使用ssh连接阿里云服务器的实现步骤">xshell5使用ssh连接阿里云服务器的实现步骤</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4952.html" title="linux查看服务器开放的端口和启用的端口多种方式">linux查看服务器开放的端口和启用的端口多种方式</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4949.html" title="Xshell连接centOS7并与CentOS7联网">Xshell连接centOS7并与CentOS7联网</a></li>
              </ul>
    </div>
    
  </div>
  <div class="right_2">     <div class="ban_250"><img src="/uploads/allimg/20211101/1-2111011135294Q.png" width="250" height="60"></div>
        <div class="ban_250"><img src="/uploads/allimg/20211101/1-21110111352cO.png" width="250" height="60"></div>
        <div class="g_box2">
      <div class="t_1">
        <h3>阅读排行</h3>
        <!--<span><a href="#">更多>></a></span>--> 
      </div>
      <ul class="b_box1">
                <li><span>1</span><a href="/fuwuqizl/4988.html" target="_blank" title="Ubuntu系统安装ANSYS2021R1">Ubuntu系统安装ANSYS2021R1</a></li>
                <li><span>2</span><a href="/fuwuqizl/4987.html" target="_blank" title="ANSYS2021R1安装方法Linux centos Ubuntu系统">ANSYS2021R1安装方法Linux centos Ubuntu系统</a></li>
                <li><span>3</span><a href="/fuwuqizl/4956.html" target="_blank" title="Linux中一对多配置日志服务器的详细步骤">Linux中一对多配置日志服务器的详细步骤</a></li>
                <li><span>4</span><a href="/fuwuqizl/4957.html" target="_blank" title="linux服务器安装SonarQube代码检测工具的详细步骤">linux服务器安装SonarQube代码检测工具的详细步骤</a></li>
                <li><span>5</span><a href="/fuwuqizl/4954.html" target="_blank" title="Apache自带的ab压力测试工具的实现">Apache自带的ab压力测试工具的实现</a></li>
                <li><span>6</span><a href="/fuwuqizl/4955.html" target="_blank" title="apache虚拟主机配置的三种方式(小结)">apache虚拟主机配置的三种方式(小结)</a></li>
                <li><span>7</span><a href="/fuwuqizl/4953.html" target="_blank" title="Linux在两个服务器直接传文件的操作方法">Linux在两个服务器直接传文件的操作方法</a></li>
                <li><span>8</span><a href="/fuwuqizl/4951.html" target="_blank" title="xshell5使用ssh连接阿里云服务器的实现步骤">xshell5使用ssh连接阿里云服务器的实现步骤</a></li>
                <li><span>9</span><a href="/fuwuqizl/4952.html" target="_blank" title="linux查看服务器开放的端口和启用的端口多种方式">linux查看服务器开放的端口和启用的端口多种方式</a></li>
                <li><span>10</span><a href="/fuwuqizl/4949.html" target="_blank" title="Xshell连接centOS7并与CentOS7联网">Xshell连接centOS7并与CentOS7联网</a></li>
              </ul>
    </div>
    <div class="g_box2">
      <div class="t_1">
        <h3>推荐教程</h3>
        <!--<span><a href="#">更多>></a></span>--> 
      </div>
      <ul class="b_box2">
                <li><span>05-10</span><a href="/fuwuqizl/4988.html" target="_blank" title="Ubuntu系统安装ANSYS2021R1">Ubuntu系统安装ANSYS2021R1</a></li>
                <li><span>06-12</span><a href="/fuwuqizl/4674.html" target="_blank" title="linux系统SSL证书部署https单/多站点">linux系统SSL证书部署https单/多站点</a></li>
                <li><span>05-27</span><a href="/fuwuqizl/2371.html" target="_blank" title="apache密码生成工具htpasswd使用详解">apache密码生成工具htpasswd使用详解</a></li>
                <li><span>05-10</span><a href="/fuwuqizl/4987.html" target="_blank" title="ANSYS2021R1安装方法Linux centos Ubuntu系统">ANSYS2021R1安装方法Linux centos Ubuntu系统</a></li>
                <li><span>11-07</span><a href="/fuwuqizl/4923.html" target="_blank" title="Clash Linux服务器安装详细教程">Clash Linux服务器安装详细教程</a></li>
                <li><span>05-27</span><a href="/fuwuqizl/2457.html" target="_blank" title="linux中如何查看Raid磁盘阵列信息">linux中如何查看Raid磁盘阵列信息</a></li>
                <li><span>05-27</span><a href="/fuwuqizl/2377.html" target="_blank" title="Linux下大量SYN_SENT连接问题的解决方法">Linux下大量SYN_SENT连接问题的解决方法</a></li>
                <li><span>05-27</span><a href="/fuwuqizl/2694.html" target="_blank" title="关于Linux操作系统下终端乱码的完美解决方法">关于Linux操作系统下终端乱码的完美解决方法</a></li>
                <li><span>10-12</span><a href="/fuwuqizl/4744.html" target="_blank" title="使用云服务器在CentOS系统中安装.NET6.0">使用云服务器在CentOS系统中安装.NET6.0</a></li>
                <li><span>11-22</span><a href="/fuwuqizl/103.html" target="_blank" title="OneinStack如何部署JAVA应用?">OneinStack如何部署JAVA应用?</a></li>
              </ul>
    </div>
  </div>
</div>
<div class="foot" id="jzkow.">
  <p><a href="/guanggaotoufang/" >广告投放</a> | <a href="/lianxiwomen334/" >联系我们</a> | <a href="/mianzeshenming/" >免责申明</a></p>
  <p>重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。</p>
  <p>如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。</p>  <p>Copyright © 2023 IDC91.COM 版权所有<a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">晋ICP备17006296号</a></p>
</div>
<script type="text/javascript" src="/template/pc/style/js/gototop.js"></script> 
<script type="text/javascript">
$(function(){
	$(".backToTop").goToTop();
	$(window).bind('scroll resize',function(){
		$(".backToTop").goToTop({
			pageWidth:1100,
			duration:0
		});
	});
});
</script> 
<!-- 应用插件标签 start --> 
  
<!-- 应用插件标签 end -->
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?06182018a60d5ff6334e0b82200de1ff";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
<script type="text/javascript">var root_dir="";var ey_u_switch=1;var ey_aid=2357;</script>
<script language="javascript" type="text/javascript" src="/public/static/common/js/ey_footer.js?v=v1.6.4"></script>
</body>
</html>