shell脚本 自启动tomcat,nginx

分为2步走
1. 脚本文件 : /usr/local
2. crontab -e : */5 * * * * /bin/sh /usr/local/restart.sh
注意事项:可能用户权限会影响脚本的部署

脚本文件

!/bin/sh

echo "脚本正在启动..." >> /home/restart.log
TOMCAT_DIR=/usr/local/tomcat
COUNT_TOMCAT=$(ps -ef|grep tomcat |grep -v tail |grep -v grep | wc -l)
TEST_Flag=$(curl localhost:8080/card-business/demo/returnTwo)
echo $COUNT_TOMCAT >> /home/restart.log
echo $TEST_Flag >> /home/restart.log
if [ $COUNT_TOMCAT -eq 0 ] || [ $TEST_Flag -ne 2 ] || [ $TEST_Flag -eq ] # 注意,这个条件是根据返回值判断的,
then
$TOMCAT_DIR/bin/startup.sh
echo "TOMCAT服务正在启动..." >> /home/restart.log
fi

COUNT_TOMCAT_1=$(ps -ef|grep tomcat |grep -v tail |grep -v grep | wc -l)
echo $COUNT_TOMCAT_1 >> /home/restart.log
if [ $COUNT_TOMCAT_1 -ne 0 ]
then
echo "TOMCAT服务启动完成" >> /home/restart.log
fi


注:COUNT_TOMCAT 是做个统计,WC -l 是统计 tomcat 的个数, -eq :等于 -ne : 不等于, TEST_Flag :是项目中的测试接口,返回2,根据结果判断是否启动tomcat

crontab -e 编辑:
*/5 * * * * /bin/sh /usr/local/restart.sh # 没5分钟检测一次,/bin/sh /usr/local/restart.sh sh执行脚本

注:可参考 https://www.cnblogs.com/p0st/p/9482167.html

posted on 2019-06-26 17:50  duende99  阅读(269)  评论(0编辑  收藏  举报