脚本文件重新启动Tomcat手动成功运行,但在Crontab上失败

时间:2018-07-06 07:29:47

标签: cron tomcat7 restart

我是shell脚本的新手。 我的Tomcat服务器建立在/APP/apache-tomcat-7.0.42

我希望我的tomcat每天自动重启一次,所以我写了一个文件test.sh/APP/apache-tomcat-7.0.42/test.sh)并包含以下内容:

/APP/apache-tomcat-7.0.42/bin/shutdown.sh && echo "Tomcat was already shutdown"
kill -9 $(lsof -t -i:8080 -sTCP:LISTEN)
/APP/apache-tomcat-7.0.42/bin/startup.sh

然后我在crontab上安装: 0 9 * * * /APP/apache-tomcat-7.0.42/test.sh

但是不能正常工作,尽管我尝试手动运行并成功。

我检查了crontab:/etc/init.d/crond状态,它正在运行。

我不明白,请帮助我!

1 个答案:

答案 0 :(得分:0)

哦,我很喜欢!

如果可以手动执行操作,则可以通过登录会话执行,但不能自动执行 启动或从Cron开始,我有99%的把握是因为环境变量 未为启动和cron环境设置JAVA_HOME和CATALINA_HOME。

您需要在此会话中获取信息:

>回显$ JAVA_HOME

> JAVA_HOME =“ / usr / java / jdk1.6.0_41”

>回显$ CATALINA_HOME

> CATALINA_HOME =“ / APP / apache-tomcat-7.0.42”

然后,结果文件crontab:

导出PATH =“ / usr / lib64 / qt-3.3 / bin:/ usr / kerberos / sbin:/ usr / kerberos / bin:/ usr / local / bin:/ bin:/ usr / bin: / usr / local / sbin:/ usr / sbin:/ sbin:/ home / tomcat / bin“

导出JAVA_HOME =“ / usr / java / jdk1.6.0_41”

导出CATALINA_HOME =“ / APP / apache-tomcat-7.0.42”

/APP/apache-tomcat-7.0.42/bin/shutdown.sh

杀死-9 $(lsof -t -i:8080 -sTCP:LISTEN)

/APP/apache-tomcat-7.0.42/bin/startup.sh