以前以为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;
转载于:https://blog.51cto.com/168536/322944