1.编辑重启Tomcat命令
首先编辑一个文件
vi my_restart.sh
然后输入:
#!/bin/bash
. /etc/profile
tomcatPath="/opt/finereport/tomcat"
binPath="$tomcatPath/bin"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath"
pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]准备kill进程..."
kill -9 $pid
echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!"
sleep 2
echo "[info][$(date +'%F %H:%M:%S')]准备启动tomcat..."
$binPath"/startup.sh"
sleep 10
curl http://localhost:8888/
else
echo "[info][$(date +'%F %H:%M:%S')]tomcat未启动!"
$binPath"/startup.sh"
sleep 10
curl http://localhost:8888/
fi
1.上面是重启启动脚本,查询pid,直接kill掉,等待7秒 后重新启动
ps:
1.第二行中 . /etc/profile 等于 source /etc/profile
2.倒数第2行中,$binPath"/startup.sh" 启动,不用 ./$binPath"/startup.sh" 会报错。
3.发现shell这里需要执行的代码一定要在fi 前边,到fi 之后的可能就不运行了,
注意shell中的if else fi 和 python/java中的 if else 不一样
2.设置定时
crontab -l 查看定时任务,
crontab -e 编辑定时任务
添加下面内容到里面,这样天凌晨1点就会执行
每天凌晨3点运行
00 03 * * * /root/my_restart.sh > /root/restart-tomcat.txt
3.停止定时任务
暂停的话,就注释掉任务
crontab -e
然后注释掉任务
如果全部删除:
crontab -r