在网上找了一个定时重启tomcat的脚本,自己自动执行是可以的,但就是加入crontab后不执行。
重启脚本如下
restart_tomcat.sh
#!/bin/bash tomcat_home=/usr/local/tomcat8 SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh $SHUTDOWN $STARTTOMCAT
定时任务
0 2 * * * cd /opt && ./restart_tomcat.sh
定时任务执行后提示信息在/var/spool/mail/root中
cat /var/spool/mail/root
还可以在crontab的执行日志中看都执行了什么命令
tail -n 100 /var/log/cron
从提示信息中我们看见是在执行脚本的时侯没有找到JAVA_HOME
在网上也找到了一篇文章中介绍的
有时我们创建了一个crontab,然而这个任务却难以手动执行,而自动执行这个任务却没有问题,这些情况通常是因为在crontab文件中没有配置环境变量导致的。
所以就改了一下重启脚本linux定时任务不执行,加入source/etc/profile
最终的重启脚本如下
#!/bin/sh source /etc/profile tomcat_home=/usr/local/tomcat8 # 找到tomcat进程并kill掉 ps -ef |grep tomcat |awk {'print $2'} |sed -e "s/^/kill -9 /g" |sh - # 删除日志目录 # rm $tomcat_home/logs/* -rf # 删除临时目录 # rm $tomcat_home/work/* -rf # 启动tomcat start_tomcat=$tomcat_home/bin/startup.sh $start_tomcat
此次才能重启了,还是linux知识把握的太少linux定时任务不执行linux启动盘制作工具linux操作系统教程,没有系统地了解。
注意事项:crontab中要写全路径
参考文献
重启tomcat脚本
crontab定时执行
以上是定時重新啟動 tomcat 腳本加入 crontab 後不執行的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!