使用crontab执行定时任务不是第一次用,昨天下午设置几个任务,yy里面已存在的任务,修改指定python环境和执行文件路径后,死活到点不执行。html
任务设置以下: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 表示任务设置成功。服务器
排查一:运维
- 文件权限(必须可执行):ui
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
排查二:spa
- 在窗口本身单独执行下如:/root/env_dir/zxkg/bin/python /root/myproject/zhxin/some_tasks/announcement_task.py,抛出问题.net
- 导包问题见上一篇博客code
- 找不到安装的库,本例中使用的沙盒环境,执行pip install -r requirements.txt 安装的库没有安装到沙盒环境下(/root/env_dir/zxkg/lib/python3.5/site-packages/),若安装成功会在路径下找到。环境实在是怪异,建立沙盒指定的python3版本,进入沙盒环境下,执行python居然显示的python2,更不用说pip了。htm
一万个?。?,记得上上个礼拜参加比赛,比赛项目部署在个人这个服务器上,当时一个同事把密码要过去了,深深地怀疑动环境了。。。blog
立马改了个密码,改完不到一分钟,那个同事问我是否是改密码了@!@,跑过来讲要上服务器看代码,在服务器上运行,一句话怼回去了(上码云上拉,本地运行)无需解释太多。
因而,今天重装了python环境,等着交任务时碰到环境问题、运维问题是最让人脑仁疼的。。。
解决:
重装python3环境,参考oschina上一篇文章。
此处纠正下,要是复制文章中的命令建立软链时会报错:ln: target `/usr/bin/python3' is not a directory ,做者手误ln -s前面的中线写成中文的了。
感谢做者分享高质量文章,解决了个人问题~
做者文章地址: