前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Crontab 执行 python 脚本不生效?

Crontab 执行 python 脚本不生效?

作者头像
小闫同学啊
发布2019-11-18 21:41:14
4.2K0
发布2019-11-18 21:41:14
举报
文章被收录于专栏:小闫笔记小闫笔记

"

我相信这不是我一个人的经历:傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。

——《沉默的大多数》

"

Linux 设置定时任务,crontab 执行 python 脚本不生效的问题,可以通过下方的方法尝试:

1.给 python 脚本第一行添加如下代码:

代码语言:javascript
复制
#!/usr/bin/python

当然 python 解释器的路径要按照自己情况进行填写。

2.如果 python 脚本报错,模块未找到等等,尝试如下方式:

代码语言:javascript
复制
import syssys.path.append('xxx<第三方模块的路径>')

如果是虚拟环境,有可能此路径不同,可以通过下列命令查看:

代码语言:javascript
复制
import elasticsearchelasticsearch.__file__

然后将路径复制到 sys.path.append('') 中的引号即可,如:

代码语言:javascript
复制
D:\\E\\python_virtual\\fbl5n\\lib\\site-packages

3.python 脚本中不涉及复杂的逻辑,简单的函数即函数调用即可,如果出现下列代码,请去掉:

代码语言:javascript
复制
if __name__ == '__main__':

它会将 crontab 在调用的时候搞晕。

4.可以写一个 shell 脚本去调用 python 脚本,如下:

代码语言:javascript
复制
#!/usr/bin/bashcd /opt/usr/bin/python3 mail_reminder.py >> log.txt 2>&1

0 表示stdin标准输入 1 表示stdout标准输出 2 表示stderr标准错误 & 表示等同于的意思 2>&1 表示2的输出重定向等同于1

5.当报错编码问题时可以尝试使用如下方法:

代码语言:javascript
复制
#!/usr/bin/bashcd /optPYTHONIOENCODING=utf-8 /usr/bin/python3 mail_reminder.py >> log.txt 2>&1

全栈技术文章精选

redis操作命令总结

MySQL相关操作

SQL查询语句

前端中那些让你头疼的英文单词

Flask框架重点知识总结回顾

Elasticsearch查询时还在百度DSL语句吗?你可能需要这份总结

浅谈密码加密

Django框架中的英文单词

Django中数据库的相关操作

DRF框架中的英文单词

DRF框架

Django相关知识点回顾

python技术面试题-腾讯

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档