我在 /etc/profile 文件最后设置了 export GTRADE_ENV=test , 即设置GTRADE_ENV的环境变量为test, 然后我创建一个测试的文件–t1.py,代码如下:
import os
gtrade_by = os.environ.get('GTRADE_ENV')
print('gtrade_by is',gtrade_by)
就是一个读取环境变量的文件,直接执行是没问题的
但是当我把它放到 /var/spool/cron/root 里面的时候,居然获取不到环境变量
再看看t1.log日志,显示
gtrade_by is None
也就是获取不到环境变量。通过查找资料,最终解决
Crontab 执行 Laravel 获取不到用户全局变量,通过查阅资料获知 Crontab 载入配置的时候 并未载入 /etc/profile ;
感谢 https://www.jianshu.com/p/202e95eb79be