1. 程式人生 > >Crontab執行Tomcat開關機失敗解決

Crontab執行Tomcat開關機失敗解決

1.問題描述

由於部署Apache和Tomcat進行均衡負載的原因,導致Tomcat每天都進行重啟,這樣JK過來的請求Tomcat才會處理。

我採用crontab對Tomcat進行定時開關機

# crontab -e

30 8* * * /alidata/apache-tomcat-7.0.59/bin/shutdown.sh >> /shut.log

35 8* * * /alidata/apache-tomcat-7.0.59/bin/startup.sh >> /start.log

但是還是還是到第二天後,請求Tomcat不進行處理需要手動的重啟Tomcat才行。

2.問題分析

我初步判斷可能是crontab沒有執行任務,所以我去查看了crontab的日誌檔案/var/log/cron

# tail -f /var/log/cron


從日誌上面看到是有執行這兩個任務的,這個時候開始懷疑是不是任務執行失敗了,所以在執行命令後面將執行結果儲存下來到/shut.log檔案,設定好執行時間後,檢視執行結果檔案

# tail -f /shut.log


根據提示資訊大致瞭解到執行shutdown.sh的時候沒有執行環境,但是我確實是配置過了JDK和JAVA_HOME環境變數的。

# vim /etc/profile


ps:修改完配置檔案後使用命令使配置檔案生效#source /etc/profile

檢視環境變數PATH

# echo $PATH


檢視環境變數JAVA_HOME

# echo $JAVA_HOME


檢視環境變數JRE_HOME

# echo $JRE_HOM


然後在重新設定好定時執行任務,檢視執行結果檔案和執行結果

# ps -aux | grep tomcat


於是將報錯結果“Neitherthe JAVA_HOME nor the JRE_HOME environment variable is defined”在網上查了一下,看到有人說需要配置“apache-tomcat-7.0.59/bin/catalina.sh”的JAVA_HOMEJRE_HOME,於是將/etc/profile的配置內容拷貝到該檔案中


3.問題解決

按照上面的方法重新設定好定時任務後,發現Tomcat可以定時開關機了。再也不用手動去進行重啟Tomcat了。~_~