V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
greatdk
V2EX  ›  问与答

crontab 的问题

  •  
  •   greatdk · 2015-07-21 22:57:03 +08:00 · 3141 次点击
    这是一个创建于 3431 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在树莓派里设置了一个crontab,定时执行一个python文件,这个python文件会去网上特定的地址去获取一个命令,然后用python的os库的os函数来执行这条获取的系统命令

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

    同时,另一些crontab里面的任务是执行的,求解决办法~
    20 条回复    2015-07-22 17:46:45 +08:00
    kn007
        1
    kn007  
       2015-07-21 22:58:16 +08:00
    看日志
    kn007
        2
    kn007  
       2015-07-21 22:58:58 +08:00
    比较可能的一个就是python没用绝对路径
    greatdk
        3
    greatdk  
    OP
       2015-07-21 23:06:50 +08:00
    @kn007 python用的是绝对路径,事实上我发现它是执行了的,去那个地址获取了命令的,但是命令没执行
    kn007
        4
    kn007  
       2015-07-21 23:08:00 +08:00
    @greatdk 权限问题?
    fo2w
        5
    fo2w  
       2015-07-21 23:11:24 +08:00
    2&>/home/xx/log
    vibbow
        6
    vibbow  
       2015-07-21 23:15:11 +08:00
    看系统变量
    尤其是 $PATH
    greatdk
        7
    greatdk  
    OP
       2015-07-21 23:18:36 +08:00
    @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  
       2015-07-21 23:21:21 +08:00
    Cynic222
        9
    Cynic222  
       2015-07-21 23:23:05 +08:00
    你不把你的crobjob写出来大家怎么猜。。。
    cmxz
        10
    cmxz  
       2015-07-21 23:23:47 +08:00
    crontab大部分原因是环境变量的问题
    kn007
        11
    kn007  
       2015-07-21 23:25:28 +08:00
    @greatdk 现在就是content在日志看得到?但是os.system未执行?
    baocaixiong
        12
    baocaixiong  
       2015-07-21 23:48:22 +08:00
    如果在脚本中有print,并且输出到了一个日志文件,请记得你print 出来的string一定要 encode('utf8')

    吃过同样的亏。。。
    ETiV
        13
    ETiV  
       2015-07-22 00:35:21 +08:00 via iPhone
    命令带sudo,没做过nopassword设置的话是需要输入密码的。

    如果确实需要sudo,你倒不如把cronjob安装到root用户下。注意脚本的可写也给改到root only
    jarlyyn
        14
    jarlyyn  
       2015-07-22 00:39:10 +08:00
    sudo.......
    用root执行吧。
    Tink
        15
    Tink  
       2015-07-22 00:58:40 +08:00 via iPhone
    权限
    greatdk
        16
    greatdk  
    OP
       2015-07-22 08:14:47 +08:00 via iPhone
    @kn007 我不知道在哪看日志,不过我网页是监视到每隔设置好的时间就有一个访问的,但是不执行
    kn007
        17
    kn007  
       2015-07-22 12:08:34 +08:00
    @greatdk 。。。。centos在/var/log/cron看。
    greatdk
        18
    greatdk  
    OP
       2015-07-22 13:06:00 +08:00
    @kn007 我用的貌似不是centos,我查过,好像也没看到过 /var/log/cron这个,但是就算它默认执行过了吧,那么问题会是啥啊
    mkeith
        19
    mkeith  
       2015-07-22 16:27:17 +08:00
    你的问题是Python脚本已经运行了吧,那么还关 corntab 什么关系啊?
    kn007
        20
    kn007  
       2015-07-22 17:46:45 +08:00
    @greatdk 。。。那我怎么知道,就算是没问题吧。
    做事不严谨,就不要期待别人严谨的帮你。
    还有5L也给你方法了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   917 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:54 · PVG 06:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.