zoukankan      html  css  js  c++  java
  • crontab常见错误(执行python脚本 no module)

    在crontab定时执行python脚本,在shell下没有问题,在crontab中报no module,找不到安装的库。

    1 crond服务未启动

    crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止。如果停止了就无法执行任何定时任务了,解决的方法是打开它:

    crond

    service crond start

    如果提示crond命令不存在,可能被误删除了,CentOS下可以通过这个命令重新安装:

    yum -y install crontabs

    2 权限问题

    比如:脚本没有x执行权限,解决方法:

    增加执行权限,或者用bash abc.sh的方法执行

    3 路径问题

    有的命令在shell中执行正常,但是在crontab执行却总是失败。有可能是因为crontab使用的sh未正确识别路径,比如:以root身份登录shell后执行一个/root/test.sh,只要执行

    ./test.sh

    就可以了。但是在crontab中,就会找不到这个脚本,比如写完整:

    /root/test.sh

    查看crontab执行使用的python与安装的库的python是否同一个版本python解释器,

    在crontab中使用/usr/loca/bin/python  XXX.python而不是python  XXX.python或者将XXX.python修改为可执行文件,在python头部#!/usr/local/bin/python

    4 时差问题

    因为服务器与客户端时差问题,所以crontab的时间以服务器时间为准。

    5 变量问题

    有时候命令中含有变量,但crontab执行时却没有,也会造成执行失败。

  • 相关阅读:
    计算机网络面试题总结
    为0LTP选择RDMBS时,你都需要考虑哪些?
    Redis集群搭建与简单使用
    Innodb关键特性之自适用Hash索引
    关于MySQL的commit非规律性失败案例的深入分析
    MySQL存储写入性能严重抖动分析
    【Linux】管理文件系统
    【Linux】YUM源搭建
    【Linux】计划任务
    【Linux】日志分析及管理
  • 原文地址:https://www.cnblogs.com/jeesezhang/p/3785348.html
Copyright © 2011-2022 走看看