ユーザーの場合、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.) JAVA_HOMEがどこにあるかcrontabに知らせる可能性は何ですか?
私のアプローチはこのページの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"