Crontab定时任务中python3脚本无法运行问题解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Crontab定时任务中python3脚本无法运行问题解决相关的知识,希望对你有一定的参考价值。

参考技术A 背景:
XX集团电商化标准地址增量生成及上传功能为Python3脚本实现。上传脚本并编写执行shell后,手动执行shell能生成且上传成功,但将shell脚本添加到crontab后执行失败,失败原因日志无法打印。

解决:
排除脚本路径及文件权限导致问题可能性后,分析后原因为环境变量的问题:crontab执行脚本的时候不会读取用户的环境变量等配置,所以可能很多命令不能使用导致脚本执行失败;
1)查看用户环境变量-env,获取path路径:

2)将path放到shell导入,并进行环境初始化

3)添加crontab

大家如有遇到其他问题或者有更好解决思路,欢迎积极留言,共勉。

crontab添加了定时任务却无法执行

错误现象:写的脚本(linux上使用FTP下载文件)中会生成文件,但是到了时间点却没有生成文件。
排查:先查看定时任务执行的日志文件( /var/log/cron):Sep 18 03:46:01 localhost CROND[39841]: (CRON) ERROR chdir failed (/apache/Unionpay/upload/): No such file or directory
原因:执行脚本的用户缺少了家目录!为该用户添加新的家目录即可。
拓展:如何添加定时任务,用执行脚本的用户,输入crontab -e
05 05 * /apache/swift/ftpDownload.sh

以上是关于Crontab定时任务中python3脚本无法运行问题解决的主要内容,如果未能解决你的问题,请参考以下文章

小知识点Centos 自动任务,定时执行 Python 脚本

crontab内环境变量问题(crontab定时任务执行脚本异常)

crontab命令 脚本定时运行

crontab添加了定时任务却无法执行

CentOS7 使用定时任务

linux中打包备份脚本,手动执行可以正常打包,使用crontab -e 添加到系统定时任务中执行就无法打包