1,描述
我们需要写一个进程监控的脚本,目的是检测tomcat进程是否停掉,如果挂了,自动拉起,所以我们写了如下的脚本,参考了一些资料,希望对有需要的人有所帮助。
#!/bin/bash
echo "Start"
URL="http://127.0.0.1/###/"
curlit()
{
#echo "??"
curl --connect-timeout 15 --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 /tomcat-6.0.29/bin/
/bin/sh startup.sh
#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
sleep 180
fi
}
sleep 3
# 运行脚本后才开始正式工作(防止重启服务器后由于tomcat还没开始启动造成误判)
# 主循环体
doit
二、把mytt.sh文件放到root目录下,并修改权限为可执行文件。
三、在控制台上输入以下命令
crontab –e
四、按i键编辑这个文本文件,输入以下内容,每隔5分钟重启tomcat
*/5 * * * * /root/mytt.sh
按esc键退出编辑,输入wq回车保存
五、启动定时服务
[root@]# service crond stop
[root@]# service crond start
六、乱码问题
手工重启与默认系统任务自动重启的字符集是不一样的。在jsp中加入<%=System.getProperty( "file.encoding")%>,可以发现系统自动重启与手工自动重启结果不一样,自动重启打印的结果是ANSI_X3.4-1968,手工重启打印的是GB18030.
作者的项目中使用了volicity生成页面,自动重启后生成的页面就会出现乱码。在tomcat的bin下面找到catalina.sh,在里面加上“CATALINA_OPTS=-Dfile.encoding=GB18030”就可以解决这个问题。
分享到:
相关推荐
Linux中将Tomcat添加到守护进程,让Tomcat随Linux系统自动启动;以及解决执行tomcat start时,“Invalid user name 'tomcat' specified”的异常处理。
Linux下 tomcat的守护进程、心跳程序 自行重启TOmcat服务
通过java程序实现在windows下对tomcat的监听和守护。可以不用出现讨厌的窗口,在背后实现运行,
编写Linux守护进程
Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux守护进程Linux...
Windows下 tomcat的守护进程、心跳程序 可以自行重启tomcat
可以让容器跟随系统启动,并定期检测启动状态,若关闭则自动启动容器
此小程序专门用来守护Tomcat进程 【运行方法】 直接双击TomcatWatcher.jar 程序通过访问http://localhost和输入的Tomcat端口来访问Tomcat主页,如果获取到返回串证明Tomcat运行中,否则检测JAVA.EXE进程是否存在。...
linux tomcat 64 绝对好用, 开发的必备利器。
Linux下Tomcat的启动、关闭、杀死进程
此小程序专门用来守护Tomcat进程 【运行方法】 直接双击TomcatWatcher.jar 程序通过访问http://localhost和输入的Tomcat端口来访问Tomcat主页,如果获取到返回串证明Tomcat运行中,否则检测JAVA.EXE进程是否存在。...
Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
linux tomcat mysql jdk linux tomcat mysql jdk linux tomcat mysql jdk
自动重启已自动重启已经挂掉的tomcat服务器器,省去人工人力,保证服务器的正常运行经挂掉的tomcat服务器器,省去人工人力,保证服务器的正常运行
JProfiler在Windows可视化远程监控Linux上Tomcat进程的安装步骤
linux定时自动重启TOMCAT,SHELL脚本, 按制定时间启动脚本,并自动查找TOMCAT进程,关闭TOMCAT进程,然后再启动TOMCAT进程,服务器压力过大,或遭受攻击时,TOMCAT集群时自动维护出问题的TOMCAT。
linux tomcat 下载32位linux tomcat 下载32位 linux tomcat 下载32位 linux tomcat 下载32位 linux tomcat 下载32位 linux tomcat 下载32位
linux服务器64位的tomcat7下载,本人正在使用这个tomcat服务器,亲测有效
tomcat8 Linux版本下载 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。此版本为linux的64位版本,解压即使用。非常的方便非常的好用