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. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致.    2. 布局文件不可以有大写字母    3. 抛出如下错误WARNING: Application does no ...
  • 易网科技讯 3月23日消息,CCBN2010数字技术未来系列论坛今天在北京召开,易网科技作为独家门户网络支持媒体在现场做了直播报道. 以下为清华大学研究员.教授王兴军做主题为"三网融合"的题演讲. ...
  • Android/abi (abi相关代码.ABI:applicationbinary interface,应用程序二进制接口) Android/bionic(bionic C库) Android/bootable(启 ...
  •   封装一个方法,该方法不具有参数并且不返回值 public delegate void Action();   在使用 Action 委托时,不必显式定义一个封装无参数过程的委托. 例如,以下代码显式声明了一个名为 ...
  • 这里的介绍来自IEEE论文A Watchdog Processor to Detect Data and Control Flow Errors,由于本人能力有限,在翻译过程中可能会出错,希望大家指正. 由于辐射和电 ...
  • 近日,网秦全球手机安全中心截获了一组伪装为"手机飞信"软件,诱骗用户安装后,自动后台联网,下载恶意软件的的手机病毒(病毒编号:AVK.Upadapter.Q)一旦不慎感染此病毒,将导致用户隐私信息 ...
  •                  倾听永远的涛声    听涛山,是湘西凤凰古城内的一座小山,依江而立.佳木葱茏,兰蕙芬芳,山泉淙淙.1992年5月10日,这座山忽然庄严肃穆.享誉中外的著名作家沈从文先生,在北京病逝四 ...
  •   在例子Android简明开发教程十七:Dialog 显示图像 中我们留了一个例子DrawMap()没有实现,这个例子显示在线地图,目前大部分地图服务器都是将地图以图片存储以提高响应速度. 一般大小为256X256 ...
  • 单点登录功能介绍: 当用户成功登录到第三方认证服务器时,自动通过AC的认证,而无需再次输入用户名和密码. 优点: 用户只需要输入一次账号和密码,即可自动通过AC的认证,避免账号和密码的重复输入,降低密码泄露的风险. ...
  • 升级到grails 2.3.2之后,运行时报如下的异常: Exception in thread "main" Error Forked Grails VM exited with error j ...