Crontab 执行 python 脚本不生效?

意气风发啊骑上我快乐的小摩托良心公众号啊!我上墙了你开始了嚯嚯嚯嚯嚯哈哈哈哈哈皮皮虾我们走可乐在厨房 红牛在冰箱6666666

看弹幕,点关注

"

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


——《沉默的大多数》

"

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

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

#!/usr/bin/python

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

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

import sys
sys.path.append('xxx<第三方模块的路径>')

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

import elasticsearch
elasticsearch.__file__

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

D:\\E\\python_virtual\\fbl5n\\lib\\site-packages

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

if __name__ == '__main__':

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

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

#!/usr/bin/bash
cd /opt
/usr/bin/python3 mail_reminder.py >> log.txt 2>&1

0 表示stdin标准输入

1 表示stdout标准输出

2 表示stderr标准错误

& 表示等同于的意思

2>&1 表示2的输出重定向等同于1

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

#!/usr/bin/bash
cd /opt
PYTHONIOENCODING=utf-8 /usr/bin/python3 mail_reminder.py >> log.txt 2>&1

全栈技术文章精选

redis操作命令总结

MySQL相关操作

SQL查询语句

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

Flask框架重点知识总结回顾

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

浅谈密码加密

Django框架中的英文单词

Django中数据库的相关操作

DRF框架中的英文单词

DRF框架

Django相关知识点回顾

python技术面试题-腾讯

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值