Linux下设置监控tomcat端口脚本,优化版

领导要求脚本要长时间在系统后台运行,于是修改了上次的脚本,加了守护进程。我的脚本如下:

#!/bin/bash

echo "Start"

URL="http://127.0.0.1:8080/"

curlit()

{

#echo "??"

curl --connect-timeout 10 --max-time 20 --head --silent "$URL" | grep '200'

# 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。

}

doit()

{

if ! curlit; then

# 如果localhost的apache服务没有正常返回200头,即出现异常。执行下述命令:

# echo "TD"

sleep 20

#top -n 1 -b >> /var/log/log.log

kill `ps -ef|grep java|grep -v grep |awk '{print $2}'` > /dev/null 2>&1

# 这条语句中ps -ef|grep java|grep -v grep为查询进程中java进程同时排除本身语句,用awk找到第二列信息,返回状态扔到黑洞中。

sleep 2

cd /home/test/tomcat6/bin/

nohup /home/test/tomcat6/bin/startup.sh >/home/jiankong.log &

#echo "EN"

echo $(date) “Tomcat Restart” >> /var/log/log.log

# 写入日志

sleep 60

# 重启完成后等待,然后再次尝试一次

if ! curlit; then

# 如果仍然无法访问,则:

echo "@"

echo $(date) “Failed!” >> /var/log/log.log

# 写入apache依然重启失效的日志

fi

参考资料解释:

在启动weblogic的时候我们经常看到如下的命令:

nohup ./startWebLogic.sh >out.log 2>&1 &

从09年开始用weblogic到现在已经过去3年多了 ,今天终于将该命令理解清楚了。

其中 0、1、2分别代表如下含义:
0 – stdin (standard input)
1 – stdout (standard output)
2 – stderr (standard error)

nohup ./startWebLogic.sh >out.log 2>&1 &

nohup+最后面的& 是让命令在后台执行

>out.log 是将信息输出到out.log日志中

2>&1 是将标准错误信息转变成标准输出,这样就可以将错误信息输出到out.log 日志里面来。

本文出自 “ghost” 博客,请务必保留此出处http://fangwei009.blog.51cto.com/5234706/1632947

更多相关文章
  • iOS 开发学习的第一个选择往往是自学与培训.自学的一般不是不信邪就是穷,这是不言自明的.在学习初期,遇到的新手朋友们经历各异,有刚毕业的应届生,有干了几年其它平台想转行的老程序员,也有风马牛不相及的兴趣转行青年.<?xml:namespace prefix="o" ns= ...
  • 很多微博和文章都说,股指期货的收盘价对第二天开盘价影响很大,因为股指多交易15分钟,因此对股市的第二天开盘价影响非常大,网上有一个文章是这样说的: “股指期货开盘早于股市15分钟,收盘又晚15分钟,国泰君安研究员曾统计,股指期货晚收盘15分钟的涨跌对于次日期指走势的预测准确率达到了70%.” 看看这 ...
  • 自印有"12"字样的苹果公司发布会邀请函在上周公布以来,关于苹果将推出新款iPhone的市场预期大幅升温,市场再次掀起全球范围内的苹果"完美风暴".不仅苹果公司股价大幅上涨,涉及苹果概念的国内A股公司也出现了逆势上涨,另外,三星电子.诺基亚和索尼等品牌手机商接 ...
  • 蓝色导航为图片,用background-image实现. 排版用到ul,li标签,下划线运用border-bottom中的dashed,右边文字用到CSS浮动float. 实例: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra ...
  • 原文地址--http://blog.csdn.net/qq525099302/article/details/47253641 SELECT * FROM b_role_authority as of timestamp to_timestamp('2015-07-25','yyyy-mm-dd') ...
  • 明天要做关于发送邮件的接口,虽然我之前已用Java Mail做过许多关于邮件的发送.但同事说有点难点,虽我还不知难点在哪,还是要复习下.凡事预则立,不预则废嘛~ 所需的包: Java Mail : 目前,可从如下地址下载:JavaMail API Activation : 目前,可从如下地址下载:J ...
一周排行
  • 易网科技讯 6月14日消息,据国外媒体报道,诺基亚CEO斯蒂芬·埃洛普(Stephen Elop)今天早晨在电话会议中坦承,Windows Phone智能手机卖得并不好.对此,埃洛普将责任归咎于零售人员不了解不熟悉L ...
  • 1 PacInfo pacInfo=new PacInfo(); 2 ArrayList<AppInfo> appInfos=pacInfo.Get(SysInfoService.this); 3 Str ...
  • 上一节我们通过方法1安装了活动目录,本节我重点介绍安装后的检查和排错,本节内容接上一节. 本节的实验环境: 1, 域控制器DC1,它是上一节中我们安装的域控制器. 2, 客户端Client1,一个装有XP系统,并打了 ...
  •             本来只是打算介绍一下addChildViewController这个方法的,正好今天朋友去换工作面试问到易网新闻标签栏效果的实现,就结合它,用个小Demo实例介绍一下:(具体解释都写在了Dem ...
  • 继续<理解面向对象的练习原则>   所有原则要在大家做练习时使用.但只有练习过,才更容易理解面向对象.   一个整型数字本身没有任何意义.当某个方法用一个整型参数做参数时,这个方法名就要负责解释一切. 假 ...
  • 去年本来想着要写个总结,后来终究也没写成,于是去年很多事情我都给忘的快一干二净了. 在此随便回忆一下吧: 2014年初还属于单身的游荡期,那段时间感觉又年轻了一把,什么tt什么jj...好像做了个梦.哎都过去了,已经 ...
  • 相对数据库镜像,AlwaysOn的一个重要优势就是可以将辅助数据库配置成可读模式.这极大地增强了数据库整体的伸缩性.通过将只读请求分流到辅助数据库,主副本的工作负载得到了减轻,读和写之间的冲突可以得到缓解,辅助副本的 ...
  • 结构化综合布线系统是很值得我们去学习的,不过在学习过程中要注意很多问题,充分了解结构化综合布线系统的特点以及优点,这样才能给用户带来更加良好的体验. 随着科技的不断发展,结构化综合布线系统将成为建筑的配套设备,综合布 ...
  •  总结出Ubuntu 9.04下编译Android源码的过程,便于大家参考:   一.PC工作环境准备 首先安装一些必须的工具包:(已安装工具包进行升级,未安装的进行下载安装) apt-get install fle ...
  • 工作一年多,依稀感觉到了软件行业的辛酸.我是一个在乎未来,并会为之思考的人.软件行业的确是一个高薪职业,但是所失去的是健康的生活状态,甚至是健康的身体,有几个软件行业从业者不是处于亚健康状态.年轻时也许是感受不到症状 ...