使用crontab定时执行python文件问题追根溯源
使用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文件问题追根溯源的更多相关文章
- centos7 crontab 定时执行python任务不执行的原因及解决办法
1.问题描述 在用crontab设置定时任务时,发现py脚本在crontab中报错,显示import某些包找不到,但是手动直接运行py脚本,完全正常. 01 05 * * * ./get_topi ...
- Linux使用crontab定时执行Python脚本清理日志
Linux中,周期执行的任务一般由crond这个守护进程来处理.cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.crond的配置文件称为"crontab", ...
- crontab 定时执行python脚本
每天8点30分运行命令/tmp/run.sh * * * /tmp/run.sh 每两小时运行命令/tmp/run.sh */ * * * /tmp/run.sh
- Linux 下用 crontab 设置定时执行python 程序
Linux 下用 crontab 设置定时执行python 程序 方法/步骤 1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...
- linux定时执行python脚本
每天清晨 4:00:01,用python执行/opt/aa.py文件. 编辑定时任务: #crontab -e 加入: 0 4 * * * python /opt/aa.py 保存,退出即可. 如果执 ...
- Linux系统crontab定时调度Python脚本
Linux系统crontab定时调度Python脚本 一.Python脚本随Linux开机自动运行 #Python脚本:/home/edgar/auto.py #用root权限编辑以下文件:/etc/ ...
- CentOS 7定时执行python脚本
CentOS 7定时执行python脚本 在CentOS下,可以使用crontab进行定时任务的处理. 一.crontab的安装 默认情况下,CentOS 7中已经安装有crontab,如果没有安装, ...
- crontab定时执行任务
第一部分 crontab介绍 每个操作系统都有它的自动定时启动程序的功能,Windows有它的任务计划,而Linux对应的功能是crontab. crontab简介 crontab命令常见于Unix和 ...
- mac上使用crontab周期性执行python脚本
这个月买了本书<Linux系统命令及Shell脚本实践指南>, 看到了一个周期性执行任务cron.顿时产生一个想法: mac上有这种机制么? 加上自己也在15年下半年也学了点python脚 ...
随机推荐
- E20190214-mt
roughly adv. 粗略地; 大致上; 大体上; 粗暴地; equivalent adj. 相等的,相当的,等效的; 等价的,等积的; [化学] 当量的; consult vi. 咨询; 商 ...
- html扩展调用qq邮箱
总体流程:qq邮箱->设置->账户->邮我(使用邮我) over!over!over!
- Easyui TextBox 添加事件的方法
$("#txtPaySideId").textbox('textbox').bind("click", function () { showPlatform() ...
- POJ2752【KMP-next数组含义】
题意: 给一个字符串,求满足既是这个字符串的前缀,又是这个字符串的后缀,从小到大输出长度 思路: 细讲next数组含义博文:点我 首先要满足前缀的呀. KMP的next数组干的是子串最长后缀. 所以从 ...
- 如何将含有byte数据项的结构存入MongoDb
我们知道MongoDb不支持byte(BsonType中根本没有定义byte), 但是在实际生产环境中数据结构(特别是远古时代的数据结构)往往包含byte数据项. 这时候无法保存原有的数据结构,一般会 ...
- Spring Cloud:使用Ribbon实现负载均衡详解(上)
1. 什么是 Ribbon? Spring Cloud Ribbon 是一套实现客户端负载均衡的工具.注意是客户端,当然也有服务端的负载均衡工具,我们后面再介绍.可以认为 Ribbon 就是一个负载均 ...
- ubuntu 安装R 语言
我个人的环境是 ubuntu 12.04 64 位桌面版. 我自己在安装R 语言时,发现它依赖的库真不是一般的多,所以我在这里简单记录一下我整个安装过程 首先你需要安装 apt-get install ...
- 生成Jar包 源码Jar包-字节码Jar包 不可运行Jar包-可运行Jar包
- Mysql的跨服务器操作
1.查询FEDERATED功能是否开启: show ENGINES; 2.如果状态为NO则需修改my.ini文件,增加一行federated配置: my.ini配置文件的默认路径 C:\Program ...
- Python enumerate() 函数----枚举
描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2. ...