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 ...
一周排行
  • 1.  子程序的各个部分: 声明部分.可执行部分.异常处理部分(可选) 2.子程序的分类:     A.  过程 - 执行某些操作 a.  创建过程的语法:            CREATE [OR REPLACE ...
  • 图为黑客与网友的聊天记录 晚报记者 周柏伊 范献丰 茅冠隽 报道 漫画 崔泓 中国电子商务协会等部门曾联合发布数据显示,截至2011年6月至2012年6月一年间,全国超过6000万网民因网络诈骗损失300多亿元.业内 ...
  • [描述]适配器模式将某个对象的接口适配为另一个对象所期望的接口. [UML图]   图1 Apater模式 (1) 已知Apatee类,该类提供了画线的函数实现: (2) 现在用户要求绘制点,我们知道如果将画线函数起 ...
  • XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的 ...
  • 本人作为一个使用敏捷开发3年的项目管理者,我在此提出10个问题供大家思考,我自己认为的答案会稍后公布,我抛砖引玉,希望大家互相探讨,能用更好的开发模式将开发团队运行的更美好: 1: 为什么要使用敏捷开发?是因为现在流 ...
  • 前段时间帮我的一个同事做了一个网站,我没有用独立的 SQL 数据库去做,就用了 VS 2010 自身携带的数据库.因为一来数据量比较少,二来也比较方便嘛.省的在另外一个数据库切换来切换去的,麻烦.   可是,昨天他和 ...
  • Mozilla公司日前放出了一款专门针对Android操作系统的Firefox 4移动浏览器软件,本次放出的Android版Firefox 4移动浏览器已经是正式版本.根据Mozilla方面的消息显示,该公司承诺An ...
  • 点击打开链接 RSA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
  • 在面向对象的编程中,对象同时包含数据和行为,这两者一起表示业务域的特定方面.使用对象生成应用程序的优点之一是可以将所有数据操作封装在对象内.这样, 就使对象成为独立的单位,并增加了在其他应用程序中重用对象的可能性.但 ...
  • 在Unix风格的操作系统里(包括BSD, GNU/Linux 和 Mac OS X),通常用波浪号“~”来表示当前用户的主目录(home目录):例如,如果当前用户的home目录是/home/bloggsj,那么,输入 ...