[CentOS]Crontab定时执行python无效解决过程

买了阿里云ECS,部署好后打算定时执行python程序

  • 首先,制定计划
crontab -e
  • 进入vim模式
命令作用
s插入字符
:wq保存退出
:q不保存退出
Esc退出当前命令

每天8点执行,填写绝对路径

00 8 * * * /usr/bin/python3 /root/test.py
  • 检查是否添加成功
crontab -l
  • 检查服务状态
service crond status

正常显示 active(running)

此时,到指定时间程序没有任何反应,开始排查


  • 先按网上的办法,查看日志
tail /var/log/cron

报错信息为

MAIL (mailed 54 bytes of output but got status 0x004b#012)

然后

cat /var/log/maillog

提示没有log文件,不过现在知道了计划有运行过,再尝试其他办法

  • 切换到python程序目录,赋予可执行权限
chmod a+x test.py

更改配置文件

vim /etc/postfix/main.cf

inet_interfaces=localhost改为inet_interfaces=all

此时不再报错,但依然无效

  • 编辑python文件头部
#!/usr/bin/python3
# -- coding: utf-8 -
  • 无效,于是重定向输出日志
00 8 * * * /usr/bin/python3 /root/test.py 2>>/home/log

原因为python程序内引用的变量含有相对路径,
交给Crontab就无法识别了,
全部更改为绝对路径后正常执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值