1.vim新建一个.sh文件 输入一下内容 (jdk和tomcat路径根据实际情况而变)
#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.8.0_191
export JRE_HOME=$JAVA_HOME/jre
tomcat=/data/tomcat-suse-19001
echo "####################begin check####################"
ps -fe|grep $tomcat |grep -v grep
#根据目录查看是否已启动
if [ $? -ne 0 ]
then
echo "$tomcat is not run!"
#后台重启tomcat
sh $tomcat/bin/startup.sh &
echo `date +'%Y-%m-%d %H:%M:%S'` "$tomcat start!"
else
echo `date +'%Y-%m-%d %H:%M:%S'` "$tomcat is running!"
fi
echo "####################end check####################"
echo ""
2.chmod 755 【文件名】 //给予启动权限命令
3.设计监听命令 crontab -e (及编辑启动路径及日志存放地址)
1 * * * * sh /data/test.sh >> /data/sh_log & (每个小时的01分执行 &表示后台执行)
*/1 * * * * sh /data/test.sh >> /data/sh_log & (每分钟执行 &表示后台执行)
并且启动脚本.sh文件中需要加上如下环境配置( which java) 可以查看jdk安装目录 取到jdk即可
export JAVA_HOME=/usr/java/jdk1.8.0_191 //及对应的jdk的路径
export JRE_HOME=$JAVA_HOME/jre
4.参考材料
https://www.cnblogs.com/intval/p/5763929.html(Linux定时任务Crontab命令详解)
https://blog.csdn.net/zhi_heart/article/details/48995037(linux tomcat挂了自动重启)
https://www.jianshu.com/p/838db0269fd0(Linux之crontab定时任务)
例:
#!/bin/sh
ps -fe|grep update_es.jar |grep -v grep
if [ $? -ne 0 ]
then
cd /disk/chendianwei/update_es_maida/
nohup /usr/java/jdk1.8.0_151/bin/java -jar -Xms2048m -Xmx2048m /disk/chendianwei/update_es_maida/update_es.jar >> /disk/chendianwei/update_es_maida/update_es.log &
else
ps -ef|grep -w 'update_es.jar'|grep -v grep|cut -c 9-15|xargs kill -9
time3=$(date "+%Y-%m-%d %H:%M:%S")
echo $time3 > time.txt
echo $time3
echo "上一次线索增量任务正在执行,kill,更新时间为系统当前时间"+$time3
fi
阿里云测试:
1 * * * * sh /data/xin/start.sh >> /data/xin/start.log
#!/bin/sh
ps -fe|grep xin-0.0.1-SNAPSHOT.jar |grep -v grep
if [ $? -ne 0 ]
then
cd /data/xin/
nohup /usr/local/jdk/bin/java -jar /data/xin/xin-0.0.1-SNAPSHOT.jar &
fi
评论区