昨天的tomcat问题。一天挂了3,4回,受不了了决定写个监控tomcat进程并自己主动重新启动的脚本!

在网上查资料。主要分为两类:一类是定时重新启动tomcat,这当然不是我须要的。还有一类是监控并重新启动。只是也有好几个版本号。我综合比較后(主要是这篇http://hi.baidu.com/tedzhangzhe/item/4afd87aa1cf2d1f215329b8a),删除了些不须要的内容,并将代码改动例如以下:

###########################################
# author
# date 2014/05/19
# update 2014/05/19
# Automatic detection and restart tomcat
############################################ echo ========================================
date
cd /usr/local/share/tomcat7/bin/script
rm -f main.jsp
wget -T 10 -t 3 -q http://10.0.210.100:8080/pmonitor/main.jsp
if [ ! -e main.jsp ]; then
echo "restart tomcat."
export JAVA_HOME=/usr/local/java/jdk1.6.0_37 /usr/local/share/tomcat7/bin/shutdown.sh
sleep 10
kill -9 `ps aux|grep "/usr/local/share/tomcat7"|grep -v grep|awk '{prin t $2}'`
sleep 5
/usr/local/share/tomcat7/bin/startup.sh
else
echo "checked."
fi

1、将代码拷贝到monitor.sh的文档中,并放入usr/local/share/tomcat7/bin中(路径是自己选的。若改动路径,将代码中相关内容替换为新路径即可了)。

2、sudo chmod a+x monitor.sh加权限。

3、sudo crontab -e,在文档末尾加入*/2 * * * * /usr/local/share/tomcat7/bin/monitor.sh。意思是全天范围内每2分钟执行一次这个脚本。

当中,我明明在.bashrc文件里设置过了JAVA_HOME环境变量,但是执行时还是报错。提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined。所以不得已在代码中增加了export
JAVA_HOME=/usr/local/java/jdk1.6.0_37又定义了一遍,有知道为什么的请不吝赐教哈。

測试环节:人工关闭tomcat后。2分钟后ps -ef |grep tomcat。又自己主动启动了,成功。

总结一下,这篇代码的方法不是直接监控tomcatport,而是通过wget传输文件来測试。我们都知道wget是能够走http协议的,正好能够经过tomcat来測试服务是否有效。非常巧妙的应用!

同理也可做其它服务的监控。

最新文章

  1. 返水bug-霸世
  2. the usage of linux command "expect"
  3. lnmp memcache出问题
  4. VirtualBox命令更改虚拟硬盘空间
  5. objective-C学习笔记(十一)类别和扩展
  6. 一个轻client,多语言支持,去中心化,自己主动负载,可扩展的实时数据写服务的实现方案讨论
  7. double 型变量的输入输出标准格式
  8. 201521123010 《Java程序设计》第12周学习总结
  9. Problem : (1.2.1) Text Reverse
  10. 洛谷P2611 信息传递
  11. video 铺满父元素(object-fit: fill;)
  12. JMeter学习(十八)JMeter处理Cookie与Session(转载)
  13. MySQL 5.7 GA 新特性
  14. [Err] ORA-00911: 无效字符
  15. 用 Vue 改造 Bootstrap,渐进提升项目框架
  16. HDFS分布式集群安装
  17. Nodejs下express+ejs模板的搭建
  18. maven-resources-plugin使用
  19. Codeforces 156B Suspects——————【逻辑判断】
  20. java应用高内存占用

热门文章

  1. Yii2 关于时间格式的用法
  2. vue - config
  3. Unity 编辑器扩展 场景视图内控制对象
  4. lodash _.size
  5. Activity设置切换动画时黑屏问题的解决
  6. 来自oaim的一些推广信息
  7. Commons-VFS 使用SFTP
  8. hystrix-turbine实现多服务监控
  9. 在php中修改cookie值遇到的奇怪问题
  10. iOS Framework: Introducing MKNetworkKit