使用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脚 ...
随机推荐
- django使用QQ企业邮箱发送邮件
一.首先申请QQ企业邮箱 免费QQ企业邮箱地址如下:https://exmail.qq.com/signupfree?refer=intro#signup/free 二.配置自己的域名 在域名解析中添 ...
- IOS11 - UINavigationItem大标题,搜索栏实现
1.新建模型 class Contact: NSObject { var name : String? var mobile : String?{ didSet{ { mobileString = m ...
- Source Insight 入门设置
在添加工程时,如果想添加文件夹下所有的文件,应该选择 “add tree” Source Insight 类名显示乱码解决 最近重新安装里source insight,但是打开文件后,类名显示乱码? ...
- ssh 下载文件以及上传文件到服务器
https://blog.csdn.net/jackghq/article/details/64124062 scp john@192.168.1.100:~/Desktop/MHN_error_so ...
- java模拟进程调度之模拟抢占试多级轮转调度(附带可视化解决方案)
1.简介一下多级轮转调度 多级轮转调度是一种提高调度效率的解决方案,简单讲就是讲要执行的程分成几个优先级的列队即例如三个,第一个列队分10个时间片,第二个列队分配1000个时间片,第三个列队表示100 ...
- C 语言实例 - 矩阵转换
C 语言实例 - 矩阵转换 C 语言实例 C 语言实例 矩阵转换. 实例 #include <stdio.h> int main() { ][], transpose[][], r, c, ...
- [題解]luogu_P1333瑞瑞的木棍(并查集/圖論)
是一道歐拉路的題竟然沒看出來...... 把每種顏色看成一個點,每根木棍看成一個邊,即相同顏色在圖中接好合併成了一個點, 問題轉化為了求是否存在歐拉路 如果用map會超時,所以可以用字典樹實現離散化/ ...
- Django (五) modeld进阶
day 05 models进阶 1.models基本操作 django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表. 对于ORM框架里: 我们写的类表示数据库的表 ...
- 【aspnetcore】异常捕捉可用知识点
1.使用过滤器ExceptionFilter:补充:常用过滤器:AuthorizationFilter.ActionFilter.ResultFilter.ResourceFilter.Excepti ...
- String的小笔记
String类的对象是不可变的! 在使用String类的时候要始终记着这个观念.一旦创建了String对象,它就不会改变. String类中也有可以改变String中字符串的方法,但只要是涉及改变的方 ...