1、问题描述

在用crontab设置定时任务时,发现py脚本在crontab中报错,显示import某些包找不到,但是手动直接运行py脚本,完全正常。
 
01 05 * * * ./get_topic_hourly.sh >> get_topic_hourly.log 2>&1

2、问题解析

主要是crontab的运行目录和py脚本运行目录不一样(直接执行和通过任务执行,程序的 执行环境不同),更改py头的目录,直接指定当前系统中Python的目录,即更改py脚本中默认的头为 Python 安装 目录“!/usr/local/bin/python”,具体根据自己的目录更改
查看python的安装目录可以用 which python 命令
若以上设置了依旧不执行可以尝试下面的方式执行python

* * * * * cd /var/www/clientfolder/ && /usr/bin/python /var/www/clientfolder/your_python_script.py
原因是(直接拷贝):
Script is location-sensitive. This is related to always using absolute paths in a script, but not quite the same. Your cron job may need to cd to a specific directory before running, e.g. a rake task on a Rails application may need to be in the application root for Rake to find the correct task, not to mention the appropriate database configuration, etc
我分析可能是:直接执行脚本,脚本执行环境是脚本所在的目录,而定时的脚本执行环境默认是root目录,而当python脚本设置到相对文件路径时就不能执行了。

转载于:https://www.cnblogs.com/imustun/p/9604722.html

centos7 crontab 定时执行python任务不执行的原因及解决办法相关推荐

  1. Python如何安装模块,python模块安装失败的原因以及解决办法

    前言 今天来给刚开始学习python的朋友讲解一下 如何安装python模块, python模块安装失败的原因以及解决办法 很多朋友拿到代码之后,就开始复制粘贴 --> 然后右键进行运行 结果就 ...

  2. 如何安装python模块, python模块安装失败的原因以及解决办法

    Python 模块安装 一. 打开命令提示符 win + R 输入 cmd 点击确定 或者win + S 搜索输入 cmd 二. 环境变量没有问题的前提下 输入安装命令 pip install 模块名 ...

  3. 异常“只能在执行Render()的过程中调用RegisterForEventValidation”的解决办法(转)...

    当出现下面的异常的时候: 只能在执行Render()的过程中调用RegisterForEventValidation 当出现的异常的提示: 异常详细信息: System.InvalidOperatio ...

  4. mysql update语句卡死_oracle执行update语句时卡住问题分析及解决办法

    问题 开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果.但是奇怪的是执行其他的select语句却是 ...

  5. 在Linux下执行一个文件时候提示“权限不够”的解决办法

    在Linux下执行一个文件时候提示"权限不够"的解决办法如下 转到那个文件的目录下面执行下面命令: chmod 777 filename

  6. PYTHON -MYSQLDB安装遇到的问题和解决办法

    PYTHON -MYSQLDB安装遇到的问题和解决办法 参考文章: (1)PYTHON -MYSQLDB安装遇到的问题和解决办法 (2)https://www.cnblogs.com/gaoshanx ...

  7. Pycharm中无法导入各种Python模块,pip不能更新的解决办法

    一.Pycharm中无法导入各种Python模块,pip不能更新的解决办法 1.先用python -m pip uninstall pip 将之前版本的pip卸载 2.在官网上下载pip压缩包,记得下 ...

  8. Python一直报错:SyntaxError: invalid syntax 的原因及解决办法

    本篇文章主要讲解 python报错提示 无效语法 SyntaxError: invalid syntax 的原因及解决办法 日期:2022年2月18日 作者:任聪聪 报错现象 python报错如下,但 ...

  9. python解码中文文本报错的解决办法

    python解码中文文本报错的解决办法 1.报错内容 UnicodeDecodeError: 'gbk' codec can't decode bytes in position 50-51:ille ...

  10. python open文件失败_python open打开文件失败原因及解决办法

    1.问题: 今天遇到一个问题,在使用绝对路径open(filename,mode)时失败 代码如下: try: source=open('D:\eclipse-workspace\AcrSoftwar ...

最新文章

  1. mysql数据库链接百分号_数据库百分号怎么用
  2. 安装JDK、Tomcat
  3. python2 与 python3的区别总结
  4. 简述模块-random
  5. 安装SQL2012出现[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1
  6. linux常用命令.txt
  7. 人生总是起起落落落落落落...
  8. Android 11首个预览版发布:打开飞行模式蓝牙耳机不断连
  9. C#_基础_异常捕获(六)
  10. iOS-实现验证码倒计时功能(1)
  11. Linux服务器启动流程详解
  12. 8 -- 深入使用Spring -- 2... Spring的“零配置”支持
  13. single cell 数据分析流程及原理
  14. 2022年茶艺师(初级)考试练习题模拟考试平台操作
  15. 命令与征服3 凯恩之怒
  16. Shell 掐头去尾法
  17. 如何使用python下载B站视频
  18. bim webgl 模型 轻量化_WebGL轻量化BIM引擎如何加载大体量BIM模型
  19. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之二、会中智能
  20. 固化EOS智能合约,监管升级权限,净化EOS DAPP生态

热门文章

  1. 如何求递归算法的时间复杂度
  2. 如何在 Mac 上控制对摄像头的访问?
  3. 如何设置蓝牙音频设备与Mac配合使用呢?
  4. 如何使用 Font Book 在 Mac 上添加或删除字体?
  5. 设计模式的征途—7.适配器(Adapter)模式
  6. [原创] 数据库小工具 (BatchESQL.exe)
  7. T-SQL行合并成列与列拆分成行
  8. Mysql基础系列(一)
  9. SQL Server BI Step by Step SSIS 5 --- 通过Email发送查询结果
  10. 我对于大学软件专业的一些看法