使用crontab执行定时任务不是第一次用,昨天下午设置几个任务,yy里面已存在的任务,修改指定python环境和执行文件路径后,死活到点不执行。

  任务设置如下:

15 16 * * *  /root/env_dir/zxkg/bin/python /root/myproject/zhxin/some_tasks/announcement_task.py

15 16 * * * /root/env_dir/zxkg/bin/python /root/myproject/zhxin/some_tasks/finreport_task.py

15 16 * * * /root/env_dir/zxkg/bin/python /root/myproject/zhxin/some_tasks/layout_task.py

15 16 * * * /root/env_dir/zxkg/bin/python /root/myproject/zhxin/some_tasks/stock_price_task.py

  crontab: installing new crontab 表示任务设置成功。

  排查一:

    - 文件权限(必须可执行):

chmod u+x /root/myproject/zhxin/some_tasks/announcement_task.py

chmod u+x /root/myproject/zhxin/some_tasks/finreport_task.py

chmod u+x /root/myproject/zhxin/some_tasks/layout_task.py

chmod u+x /root/myproject/zhxin/some_tasks/stock_price_task.py

  排查二:

    - 在窗口自己单独执行下如:/root/env_dir/zxkg/bin/python /root/myproject/zhxin/some_tasks/announcement_task.py,抛出问题

      - 导包问题见上一篇博客

      - 找不到安装的库,本例中使用的沙盒环境,执行pip install -r requirements.txt 安装的库没有安装到沙盒环境下(/root/env_dir/zxkg/lib/python3.5/site-packages/),若安装成功会在路径下找到。环境实在是怪异,创建沙盒指定的python3版本,进入沙盒环境下,执行python竟然显示的python2,更不用说pip了。

  一万个?。?,记得上上个礼拜参加比赛,比赛项目部署在我的这个服务器上,当时一个同事把密码要过去了,深深地怀疑动环境了。。。

  立马改了个密码,改完不到一分钟,那个同事问我是不是改密码了@!@,跑过来说要上服务器看代码,在服务器上运行,一句话怼回去了(上码云上拉,本地运行)无需解释太多。

  于是,今天重装了python环境,等着交任务时碰到环境问题、运维问题是最让人脑仁疼的。。。

  解决:

    重装python3环境,参考oschina上一篇文章

    此处纠正下,要是复制文章中的命令创建软链时会报错:ln: target `/usr/bin/python3' is not a directory ,作者手误ln -s前面的中线写成中文的了。

    感谢作者分享高质量文章,解决了我的问题~

作者文章地址:

  https://my.oschina.net/cwftalus/blog/1551273

使用crontab定时执行python文件问题追根溯源的更多相关文章

  1. centos7 crontab 定时执行python任务不执行的原因及解决办法

    1.问题描述 在用crontab设置定时任务时,发现py脚本在crontab中报错,显示import某些包找不到,但是手动直接运行py脚本,完全正常.   01 05 * * * ./get_topi ...

  2. Linux使用crontab定时执行Python脚本清理日志

    Linux中,周期执行的任务一般由crond这个守护进程来处理.cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.crond的配置文件称为"crontab", ...

  3. crontab 定时执行python脚本

    每天8点30分运行命令/tmp/run.sh * * * /tmp/run.sh 每两小时运行命令/tmp/run.sh */ * * * /tmp/run.sh

  4. Linux 下用 crontab 设置定时执行python 程序

    Linux 下用 crontab 设置定时执行python 程序 方法/步骤   1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...

  5. linux定时执行python脚本

    每天清晨 4:00:01,用python执行/opt/aa.py文件. 编辑定时任务: #crontab -e 加入: 0 4 * * * python /opt/aa.py 保存,退出即可. 如果执 ...

  6. Linux系统crontab定时调度Python脚本

    Linux系统crontab定时调度Python脚本 一.Python脚本随Linux开机自动运行 #Python脚本:/home/edgar/auto.py #用root权限编辑以下文件:/etc/ ...

  7. CentOS 7定时执行python脚本

    CentOS 7定时执行python脚本 在CentOS下,可以使用crontab进行定时任务的处理. 一.crontab的安装 默认情况下,CentOS 7中已经安装有crontab,如果没有安装, ...

  8. crontab定时执行任务

    第一部分 crontab介绍 每个操作系统都有它的自动定时启动程序的功能,Windows有它的任务计划,而Linux对应的功能是crontab. crontab简介 crontab命令常见于Unix和 ...

  9. mac上使用crontab周期性执行python脚本

    这个月买了本书<Linux系统命令及Shell脚本实践指南>, 看到了一个周期性执行任务cron.顿时产生一个想法: mac上有这种机制么? 加上自己也在15年下半年也学了点python脚 ...

随机推荐

  1. E20190402-hm

    porxy n. 代理服务器; 代表权; 代理人,代替物; 委托书; enroll  v. 招收; 注册; 登记; 加入; enrollment n. 注册; 登记; 入会;

  2. Event事件的三个阶段

    转自www.w3school.com.cn/htmldom/event_bubbles.asp 在 2 级 DOM标准中,事件传播分为三个阶段: 第一,捕获阶段.事件从 Document 对象沿着文档 ...

  3. 无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。

    原文链接:http://blog.csdn.net/byondocean/article/details/7564502 session是工作在你的应用程序进程中的.asp.net进程.iis往往会在 ...

  4. 51nod1562(set&模拟)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1562 题意:中文题诶- 思路:直接用set模拟 set< ...

  5. linux模拟http请求命令

    Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...

  6. Linux (一)

    Linux目录结构 / :根目录.位于分层文件系统的最顶层,可以说它包含了所有的目录和文件 /bin :系统可执行目录 /sbin :系统管理员的可执行文件 /boot :存放用于启动linux系统的 ...

  7. 转 载python数据分析(1)-numpy产生随机数

    转自:http://blog.csdn.net/jinxiaonian11/article/details/53143141 在数据分析中,数据的获取是第一步,numpy.random 模块提供了非常 ...

  8. 洛谷1941(dp)

    常规的dp,当前有值且碰不到管子就转移,可以连跳的操作我就加了一维表示当前是不是连跳过来的.第二问前缀和即可得(不对啊边走边记录就行了吧我冗了Orz). #include <cstdio> ...

  9. Unity Shader入门精要学习笔记 - 第3章 Unity Shader 基础

    来源作者:candycat   http://blog.csdn.net/candycat1992/article/ 概述 总体来说,在Unity中我们需要配合使用材质和Unity Shader才能达 ...

  10. PHP知识点总结4

    file1.php <?php namespace Foo\Bar\subnamespace; const FOO = 1; function foo() {} class foo { stat ...