CentOs 7 CronTab 设置 JAVA_HOME

CentOs 7 CronTab 设置 JAVA_HOME

对于root用户,我为 crontab 配置了 JAVA_HOME 变量,如下所示:

[root@localhost ~]# vim /etc/crontab
_______
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_71/bin
MAILTO=root
JAVA_HOME=/opt/jdk1.8.0_71
_______

我定义了一个由不同用户运行的 cronjob,其名称tomcat如下:

[tomcat@localhost ~]$ crontab -e
_______
30 10 * * * /opt/tomcat/bin/shutdown.sh >> /opt/tomcat/logs/cron_restart.log 2>&1
32 10 * * * /opt/tomcat/bin/startup.sh >> /opt/tomcat/logs/cron_restart.log 2>&1
_______

该作业正在运行,但我的日志显示以下内容:

[tomcat@localhost ~]$ vim /opt/tomcat/logs/cron_restart.log
______
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
______

1.) 为什么 crontab 没有获取 JAVA_HOME?
2.) 有哪些可能性可以告诉 crontab JAVA_HOME 在哪里?

我的方法基于此页面中的 CentOs-Docs: https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-autotasks-cron-configuring.html

3.) 我可能误读了文档吗?

答案1

我是这样工作的:

在文件中插入以下行/opt/tomcat/bin/setenv.sh
export JAVA_HOME="/opt/jdk1.8.0_71"

相关内容