我是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
状态,它正在运行。
我不明白,请帮助我!
答案 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