http://www.blogjava.net/tedeyang/archive/2008/06/04/205740.html
一个监控并自动重启tomcat的脚本
http://bbs.linuxtone.org/thread-1707-1-1.html
引用
公司的tomcat存在内存泄露的问题,偏偏程序员们也没时间去debug,当时我正好在研究shell脚本,就用shell写了如下内容:
首先,我不太懂tomcat,所以请java程序员写了一个web页面监控tomcat的状态,当tomcat空闲内存太少的时候,web页面的“LessOfMemory”字段就会消失,然后根据这个来判断是否应该重启tomcat。
正文如下:
#!/bin/bash
#Program
# yong lai jian shi tomcat shi fou si diao .ru guo si le jiu chong qi ta .
#History
#2009/1/5 Caoyameng Version 1.0
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/usr/local/tomcat/bin
export PATH
#PATH里加入了tomcat的路径
test -e "status.jsp" && rm -f status.jsp;
#检测当前目录下是否有监控用的web文件存在,存在则删除。
wget -b "http://127.0.0.1/main/status.jsp"
#下载这个页面,加-b的参数是为了让wget后台下载。
#之所以设置后台下载,是考虑到一种及其罕见的情况,如果cpu占用量100%或者端口阻塞,10分钟乃至1个小时都下载不下来这个页面,那整个监控脚本岂不是要卡在这里不动了?
sleep 3
#延时三秒,给wget下载页面的时间
tom=`cat status.jsp |grep LessOfMemory`
#设置一个变量为tom。
if
[ "$tom" == "" ] ;then
sh /opt/tomcat/bin/shutdown.sh
#如果tom变量为空,则执行tomcatshutdown程序
date >>time.txt
#将shutdown的时间计入日志。
elif
[ "$tom" != "" ] ;then
exit 0
#如果tom不为空,则说明该web页面含有LessOfMemory字段,tomcat工作正常,退出shell脚本。
fi
sleep 3
#延时三秒,给tomcat自己结束自己的时间
tompid=`ps x | grep tomcat | grep -v grep|awk '{print $1}'`
#看一下tomcat进程是否还存在?如果存在,则将其PID号赋值给tompid变量
[ -z "$tompid" ] && kill -9 $tompid ;
#如果tompid不为空,则执行kill -9命令强行结束tomcat
Date >> time2.txt
#将系统时间写入第二个日志文件
sh /opt/tomcat/bin/startup.sh
#重启tomcat。
shell + crontab 实现 tomcat 定时重启
http://hi.baidu.com/china8jie/blog/item/36e4971831faeba14bedbcf7.html
分享到:
相关推荐
在运行过程中,Tomcat可能会积累大量临时文件、日志和其他资源,这些资源占用磁盘空间并可能影响服务器性能。因此,定期清理Tomcat变得至关重要。 该工具的主要功能包括: 1. **智能扫描**:工具能够自动检测系统...
《Tomcat Redis Session Manager:实现高效会话管理》 在Web应用开发中,session管理是不可或缺的一部分,它用于存储用户状态信息,确保用户在不同页面间保持登录状态。然而,随着分布式系统的普及,单个服务器的...
本文将深入探讨一个基于JavaWeb的学生宿舍管理系统,它整合了Eclipse开发环境、Tomcat服务器以及MySQL数据库,为学生宿舍管理提供了一种便捷、高效的解决方案。 首先,JavaWeb技术是开发此类系统的基础。JavaWeb是...
在下载Tomcat 7.0时,可能涉及到积分制度的下载平台,用户通过贡献或积累积分来获取软件。此处强调了分享的便捷性,意味着用户无需付出大量精力或成本即可获取到所需的64位Tomcat版本,从而快速开始自己的开发或测试...
在Tomcat中,如果长时间运行的应用不断积累不再使用的对象,就会导致内存占用持续增长,进而引发内存泄漏。 2. **Tomcat内存管理** Tomcat使用Java虚拟机(JVM)进行内存管理,JVM有新生代、老年代和持久代等几个...
1. JDBC连接池:Tomcat内置了几个JDBC连接池,如Apache DBCP和Tomcat JDBC,用于管理数据库连接,提高数据库操作的效率和并发性。 2. 数据源配置:在Tomcat的conf/server.xml文件中,可以通过元素配置数据源,使得...
在IT行业中,Web应用的部署是一项基础且重要...在实际开发中,你可能还需要配置虚拟主机、设置连接池、调整Tomcat性能参数等,这些都需要随着经验的积累逐步掌握。希望这份教程能帮助初学者顺利开始Web应用的部署之旅。
标题中的“tomcat日志切分方案”是指在Apache Tomcat服务器中管理日志文件的一种策略,目的是为了更好地管理和分析日志数据。日志切分通常涉及到日志滚动,即根据时间或者其他规则(如文件大小)自动创建新的日志...
1. **Use Workspace Metadata (does not modify Tomcat installation)**:这是默认选项,Eclipse会使用工作空间的元数据来管理服务器配置,不直接修改Tomcat安装目录。 2. **Use Tomcat Installation (takes control...
在Myeclipse的服务器视图中,可以看到部署了哪些项目,并可以管理它们。 5. **服务器的启动与停止**:项目部署到服务器之后,需要启动服务器才能让Web应用运行。在Myeclipse的服务器视图中,可以直接启动和停止...
【标题】:Tomcat学习笔记 【正文】: ...随着经验的积累,你还可以探索更高级的主题,如Tomcat的连接器架构、AJP协议、SSL配置以及与其他中间件的整合等。持续学习和实践,是提升Tomcat技能的关键。
《深入剖析Tomcat 8.0源码:Catalina Home解析》 Tomcat作为一款广泛应用的开源Java Servlet容器,其稳定性和性能深受开发者喜爱。...因此,深入研究并理解这一核心组件,是每个Tomcat使用者不可或缺的技术积累。
- **最佳实践**:总结了在使用Tomcat过程中积累的最佳实践和建议,帮助读者避免常见的陷阱。 #### 七、社区支持与资源 - **官方文档**:介绍了如何获取官方文档以及如何利用这些资源加深对Tomcat的理解。 - **社区...
- `conf/tomcat-users.xml`: 用户权限配置,用于管理Tomcat的管理界面(Manager App和Host Manager)的访问。 3. **部署Web应用** - 将WAR文件放入`webapps`目录,Tomcat会自动解压并部署。 - 或者在`conf/...
### Tomcat 安装与配置详解 #### 一、Tomcat 概览及安装 Tomcat,作为一款广泛使用的开源Java Servlet容器,是许多...随着实践经验的积累,开发者将能更好地利用Tomcat的强大功能,为Web应用开发提供坚实的基础。
特别是对于部署了Tomcat等应用服务器的环境来说,随着时间的推移,日志文件会不断积累并占用大量磁盘空间。这不仅会导致磁盘空间不足的问题,还可能对系统的正常运行造成不利影响。因此,定期清理Tomcat日志是一项...
2. **自定义清理脚本**:可以编写一个脚本,定期通过命令行调用Tomcat的管理工具,如` Manager.sh `或` Manager.bat `,清理特定应用的工作目录。例如: ```bash #!/bin/bash cd /path/to/tomcat/bin ./manager....
- 登录路由器管理界面,找到“转发规则”或“端口映射”选项。 - 新增一条规则,指定内部服务器的IP地址、端口号(通常是80),并将外部端口也设为80。 - 设置完成后,保存并应用更改。 2. **公网访问测试**:...
通过学习《Tomcat与Java.Web开发技术详解》,开发者不仅可以掌握Tomcat的基本操作和管理,还能深入理解Java Web应用的开发流程,为构建高效、稳定的Web服务打下坚实基础。与他人分享资源和知识,也是提升自我并促进...