免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: sarahxu
打印 上一主题 下一主题

如何在linux下写个东东监测tomcat服务是否运行? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2005-12-28 17:43 |只看该作者
你如果想在那个目录下直接用:startup.sh的话

export PATH=$PATH:./

我觉得你应该先把. ..搞清楚

.表示当前
..表示上一级目录

./表示执行当前目录下的东西

/usr/local/tomcat/bin/startup.sh表示执行这个目录下的东西

我不是学编程的,所以有哪里讲的不对,请指导

论坛徽章:
0
22 [报告]
发表于 2005-12-28 17:59 |只看该作者
现在是直接用startup.sh就可以了
可是关键是我在crontab里面直接写*/2 * * * * /usr/java/tomcat/bin/startup.sh,这样他也不是每隔两分钟就重启一次tomcat而且我检查的结果是一次也没有重启
zengjing 该用户已被删除
23 [报告]
发表于 2005-12-28 18:56 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
24 [报告]
发表于 2005-12-28 21:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
25 [报告]
发表于 2005-12-28 23:20 |只看该作者
狠简单的问题复杂话了!
在tomcat的监控脚本中,增加和java相关的环境变量就好了,或者在/etc/profile.d,随便写一个脚本可以export javahome之类的,那么你的crontab和shell都可以继承这些环境变量.

论坛徽章:
0
26 [报告]
发表于 2005-12-29 09:16 |只看该作者
你没有设置JAVA_HOME的环境变量,shell中的环境变量在crontab里面是不起作用的,给你一段脚本参考一下:

cat tomcat.sh
#!/sbin/sh

case "$1" in
start)
        /bin/rm -f ${PIDFILE}
        cmdtext="starting"
                    CATALINA_HOME=/opt/tomcat/jakarta-tomcat-5.0.27; \
                    export CATALINA_HOME; \
                    CATALINA_BASE=/opt/tomcat/jakarta-tomcat-5.0.27; \
                    export CATALINA_BASE; \
                    JAVA_HOME=/opt/sdk/j2sdk1.4.2_08; export JAVA_HOME; \
                    $CATALINA_HOME/bin/startup.sh \
                    >/dev/null 2>&1
        ;;
stop)
        cmdtext="stopping"
                    CATALINA_HOME=/opt/tomcat/jakarta-tomcat-5.0.27; \
                    export CATALINA_HOME; \
                    CATALINA_BASE=/opt/tomcat/jakarta-tomcat-5.0.27; \
                    export CATALINA_BASE; \
                    JAVA_HOME=/opt/sdk/j2sdk1.4.2_08; export JAVA_HOME; \
                    $CATALINA_HOME/bin/shutdown.sh \
                    >/dev/null 2>&1
        ;;
*)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac
echo "tomcat $cmdtext."
exit 0

[ 本帖最后由 yanghz 于 2005-12-29 09:32 编辑 ]

论坛徽章:
0
27 [报告]
发表于 2005-12-29 09:25 |只看该作者
我手动执行test.sh的时候是可以的,他会检测java进程在不在,不在的话就重启tomcat
可是我把它放置在crontab -e
*/2 * * * * /java/tomcat/bin/test.sh,执行的的时候,这个test.sh就是不执行
如果我在test.sh里面就写一个echo "ok",那么这个
crontab又是可以执行的,每隔两分钟就会打印一个ok

这是为什吗啊?????????????????????????????????????????????????????????????

论坛徽章:
0
28 [报告]
发表于 2005-12-29 09:53 |只看该作者

回复 1楼 sarahxu 的帖子

Tomcat 版本多少,如果支持CATALINA_PID环境变量的话,

ps aux |grep `cat $CATALINA_PID`| wc -l -ne 0

论坛徽章:
0
29 [报告]
发表于 2005-12-29 09:57 |只看该作者

怎么会这样?

既然有OK出现那么表示文件已经执行过了啊!我晕,本人菜鸟。

论坛徽章:
0
30 [报告]
发表于 2005-12-29 11:01 |只看该作者
我在我的mail里面看到如下日至
The JAVA_HOME environment variable is not defined
This environment variable is needed to run this program
然后我就在我的test.sh和etc/crontab里面全部我我的环境变量加上了它有mail给我的东东是
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <ATH=$PATH:./>
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <HOME=/>
X-Cron-Env: <JAVA_HOME=/usr/java/jdk>
X-Cron-Env: <CLASSPATH=$JAVA_HOME/libJAVA_HOME/jre/lib>
X-Cron-Env: <CATALINA_BASE=/usr/java/tomcat>
X-Cron-Env: <CATALINA_HOME=/usr/java/tomcat>
X-Cron-Env: <LOGNAME=root>

/bin/bash: line 1: run-parts: command not found

这是不是代表我的test.sh中的的一行的 ps -A|grep java 这个命令有问题啊

我的tomcat版本是5.0.18的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP