django踩坑(四):终端输入脚本可正常执行,而加入crontab中无任何输出

使用crontab执行python脚本时,有时会遇到脚本无法执行的问题。这是因为crontab在执行任务时使用的环境变量与我们在终端中使用的环境变量不同。具体来说,crontab使用的环境变量是非交互式(non-interactive)环境变量,而终端则使用交互式(interactive)环境变量。这导致了某些环境变量在crontab中不可用,从而影响了python脚本的执行。

如下图:

这段代码生成的执行命令是:

python /data/projects/xinjiang_titan/db_building/tests.py

通过在终端输入可以正常执行该脚本,且正常输出结果。然而加入crontab中每分钟执行一次时,却发现没有任何输出。

解决方案:

使用绝对路径来执行python脚本。我们需要找到python执行文件的路径:

然后将python用绝对路径来执行:

/root/anaconda3/envs/bigdata/bin/python /data/projects/xinjiang_titan/db_building/tests.py

再跑脚本就正常输出结果了。

相关推荐
暴走的海鸽6 小时前
存储库模式赋能 Django:让你的代码不那么业余,更具生命力
python·设计模式·django
-dzk-6 小时前
【Flask】基础入门
后端·python·pycharm·django·flask·conda·pip
noravinsc13 小时前
django queryset 去重
数据库·django·sqlite
学不会就看19 小时前
Django--02模型和管理站点
数据库·oracle·django
哈里谢顿1 天前
Django博客项目集成Celery实现定时心跳监控系统
django
5171 天前
django中如何使用Django REST Framework
后端·python·django
哈里谢顿1 天前
django中编写一个可执行脚本
django
谢斯1 天前
[python]在drf中使用drf_spectacular
python·django
LuckyLay1 天前
1.1.2 运算符与表达式——AI教你学Django
python·django