crontab 的问题

2015-07-21 22:57:03 +08:00
 greatdk
我在树莓派里设置了一个crontab,定时执行一个python文件,这个python文件会去网上特定的地址去获取一个命令,然后用python的os库的os函数来执行这条获取的系统命令

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

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

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

如果确实需要sudo,你倒不如把cronjob安装到root用户下。注意脚本的可写也给改到root only
jarlyyn
2015-07-22 00:39:10 +08:00
sudo.......
用root执行吧。
Tink
2015-07-22 00:58:40 +08:00
权限
greatdk
2015-07-22 08:14:47 +08:00
@kn007 我不知道在哪看日志,不过我网页是监视到每隔设置好的时间就有一个访问的,但是不执行
kn007
2015-07-22 12:08:34 +08:00
@greatdk 。。。。centos在/var/log/cron看。
greatdk
2015-07-22 13:06:00 +08:00
@kn007 我用的貌似不是centos,我查过,好像也没看到过 /var/log/cron这个,但是就算它默认执行过了吧,那么问题会是啥啊
mkeith
2015-07-22 16:27:17 +08:00
你的问题是Python脚本已经运行了吧,那么还关 corntab 什么关系啊?
kn007
2015-07-22 17:46:45 +08:00
@greatdk 。。。那我怎么知道,就算是没问题吧。
做事不严谨,就不要期待别人严谨的帮你。
还有5L也给你方法了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/207359

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX