现在是凌晨2:14分 刚弄完服务器的crontab执行启动tomcat的问题
问题为标题
当你用crontab执行启动tomcat的脚本时 日志可能会报这样的错误 说这个文件找不到 而实际上这个文件是存在的,原因是因为系统内核比较老 当crontab执行脚本的时候不会带上jdk等环境变量导致的. 但是我们如果想要在这种很老的内核版本linux中执行有一样的效果的脚本怎么办.......下方贴一个按钮 各位看官拿来改改关键的地方就可用
需要修改的有 tomcat文件夹名 tomcat路径 监控的链接 那么这个脚本怎么样用呢 这个脚本是个无限死循环监控 但是用了sleep达到定时监控的效果,时间可以自己调 单位是秒 执行脚本 : nohup sh 脚本绝对路径 & 即可
睡觉睡觉 狗命要紧
#!/bin/sh
while true;do
TomcatID=$(ps -ef |grep tomcat |grep -w 'apache-tomcat-7.0.61'|grep -v 'grep'|awk '{print $2}')
StartTomcat=/home/apache-tomcat-7.0.61/bin/startup.sh
#监控的链接
WebUrl=http://192.169.160.23:8080
echo "====="
GetPageInfo=/dev/null
TomcatMonitorLog=/home/apache-tomcat-7.0.61/logsTomcatMonitor.log
Monitor()
{
echo "[info]start monitor tomcat...[$(date +'%F %H:%M:%S')]"
if [ $TomcatID ];then
echo "[info]now tomcat PID is:$TomcatID,continue checking..."
TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})
if [ $TomcatServiceCode -eq 200 ];then
echo "[info]page status is $TomcatServiceCode,tomcat normal,page is ok......"
sleep 180
else
echo "[error]tomcat page error ,!!!......status code is $TomcatServiceCode "
echo "[error]page is not exsit,now starting restart tomcat"
kill -9 $TomcatID
sleep 3
sh /home/apache-tomcat-7.0.61/bin/startup.sh
sleep 180
fi
else
echo "[error]tomcat pid is not exsit! tomcat now is restarting..."
echo "[info]$StartTomcat,waiting......"
sh /home/apache-tomcat-7.0.61/bin/startup.sh
sleep 180
fi
echo "------------------------------"
}
Monitor>>$TomcatMonitorLog
done