greatdk
V2EX  ›  问与答

crontab 的问题

  •  
  •   greatdk · Jul 21, 2015 · 3754 views
    This topic created in 3987 days ago, the information mentioned may be changed or developed.
    我在树莓派里设置了一个crontab,定时执行一个python文件,这个python文件会去网上特定的地址去获取一个命令,然后用python的os库的os函数来执行这条获取的系统命令

    问题在于,crontab它不执行啊!在ssh里面是可以很顺利的执行这个python文件的,但crontab里定时,就是不执行,不知道为啥。

    同时,另一些crontab里面的任务是执行的,求解决办法~
    20 replies    2015-07-22 17:46:45 +08:00
    kn007
        1
    kn007  
       Jul 21, 2015
    看日志
    kn007
        2
    kn007  
       Jul 21, 2015
    比较可能的一个就是python没用绝对路径
    greatdk
        3
    greatdk  
    OP
       Jul 21, 2015
    @kn007 python用的是绝对路径,事实上我发现它是执行了的,去那个地址获取了命令的,但是命令没执行
    kn007
        4
    kn007  
       Jul 21, 2015
    @greatdk 权限问题?
    fo2w
        5
    fo2w  
       Jul 21, 2015
    2&>/home/xx/log
    vibbow
        6
    vibbow  
       Jul 21, 2015
    看系统变量
    尤其是 $PATH
    greatdk
        7
    greatdk  
    OP
       Jul 21, 2015
    @kn007 命令里面加了sudo啊,python代码是:
    # -*- coding=utf-8 -*-
    import sys, urllib
    import os

    url = "http://xxx.com/pi.php" #网页地址

    wp = urllib.urlopen(url) #打开连接

    content = wp.read() #获取页面内容
    print content

    os.system("%s"%(content))
    octopus_new
        8
    octopus_new  
       Jul 21, 2015
    Cynic222
        9
    Cynic222  
       Jul 21, 2015
    你不把你的crobjob写出来大家怎么猜。。。
    cmxz
        10
    cmxz  
       Jul 21, 2015
    crontab大部分原因是环境变量的问题
    kn007
        11
    kn007  
       Jul 21, 2015
    @greatdk 现在就是content在日志看得到?但是os.system未执行?
    baocaixiong
        12
    baocaixiong  
       Jul 21, 2015
    如果在脚本中有print,并且输出到了一个日志文件,请记得你print 出来的string一定要 encode('utf8')

    吃过同样的亏。。。
    ETiV
        13
    ETiV  
       Jul 22, 2015 via iPhone
    命令带sudo,没做过nopassword设置的话是需要输入密码的。

    如果确实需要sudo,你倒不如把cronjob安装到root用户下。注意脚本的可写也给改到root only
    jarlyyn
        14
    jarlyyn  
       Jul 22, 2015
    sudo.......
    用root执行吧。
    Tink
        15
    Tink  
    PRO
       Jul 22, 2015 via iPhone
    权限
    greatdk
        16
    greatdk  
    OP
       Jul 22, 2015 via iPhone
    @kn007 我不知道在哪看日志,不过我网页是监视到每隔设置好的时间就有一个访问的,但是不执行
    kn007
        17
    kn007  
       Jul 22, 2015
    @greatdk 。。。。centos在/var/log/cron看。
    greatdk
        18
    greatdk  
    OP
       Jul 22, 2015
    @kn007 我用的貌似不是centos,我查过,好像也没看到过 /var/log/cron这个,但是就算它默认执行过了吧,那么问题会是啥啊
    mkeith
        19
    mkeith  
       Jul 22, 2015
    你的问题是Python脚本已经运行了吧,那么还关 corntab 什么关系啊?
    kn007
        20
    kn007  
       Jul 22, 2015
    @greatdk 。。。那我怎么知道,就算是没问题吧。
    做事不严谨,就不要期待别人严谨的帮你。
    还有5L也给你方法了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2581 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 10:03 · PVG 18:03 · LAX 03:03 · JFK 06:03
    ♥ Do have faith in what you're doing.