crontab可能不识别环境变量,如在$home/.profile中设置LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1/,在/home/www/connect.php中连接oracle数据库时会用到这个变量,如果crontab不识别可以用以下几种方式解决

1、shell脚本

*/5 * * * * sh /connect.sh
connect.sh内容如下:
#export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1:
#export PATH=/opt/oracle/instantclient_12_1:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
source /etc/profile
/bin/echo date>>/tmp/test.txt
php /home/www/connect.php>>/tmp/p2.txt

2、shell脚本

*/5 * * * * . $HOME/.profile;sh /home/www/connect.sh

3、crontab 中设置

*/5 * * * * . $HOME/.profile && php /home/www/connect.php>>/tmp/test.txt

source和“.”是一样的
crontab中“;”和 “&&”是一样的

Logo

更多推荐