以前以爲crontab很簡單的,這次在生產環境下居然出錯了,好生的鬱悶。
查閱了一些資料後發現需要設置java的環境變量,即在PATH= 後面添加jdk的路徑上去。呵呵~~~
事例如下:
直接寫到root的crontab裏
# crontab -e
# crontab -e
SHELL=/bin/bash
PATH=/sbin/:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin
MAILTO=root
HOME=/
PATH=/sbin/:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin
MAILTO=root
HOME=/
* */2 * * * sh /root/resin.sh
chmod +x resin.sh,之後就能和單獨情況下運行resin.sh產生一樣的效果啦!
附上resin.sh的源代碼。
resin.sh的源代碼如下:
#!/bin/bash
nu= $(ps aux |grep java |wc -l)
if [ $nu = "0" ];then
/usr/local/resin/httpd.sh start;
else
exit;
fi;
nu= $(ps aux |grep java |wc -l)
if [ $nu = "0" ];then
/usr/local/resin/httpd.sh start;
else
exit;
fi;