执行脚本
问题是关于须藤&的cron Linux权限我有2个服务器:执行脚本
srv0
- 我权威性的.ppk和登录名
- 使用sudo我用手运行简单的.py脚本。
- 脚本运行命令到webservice并打印到文件时间+返回的数据(元组)。 也由cron,这是目标运行良好
SRV1差异
- 我权威性的root密码
- 我可以运行手工脚本没有sudo,而且运作良好
- 克朗运行得很好,但打印到文件只是时间。它没有执行命令...它发送empy正文消息到/ var/spool/mail/root
其他:
-/home/monitors,2个文件(.py,log)在两个服务器上都是777
cron在srv1上的问题是什么?也许在fileOpen?
import string
import commands
import time
namesStr ='currtime;wrs-checklist-create;wrs-checklist-delete;wrs-checklist-getall;wrs-checklist-getone;wrs-checklist-update;wrs-photo-queue;wrs-shop-getall;wrs-template-getall;wrs-xauth-authenticate;'
getmess = commands.getstatusoutput('rabbitmqctl list_queues messages')
getmess = list(getmess[1].split('\n'))
messStr = ''
nixtime = str(int(time.time()))
for mess in getmess:
messStr += mess + ';'
logQue = open('/home/monitors/logQue', 'a')
print >> logQue, nixtime + messStr
logQue.close()
在crontab中,在命令之前添加。 $ HOME/.bash_profile中。例如:
0 5 * * *。 $ HOME/.profile文件;/path/to/command/to/run
Cron对你的shell一无所知;它由系统启动,因此它具有最小的环境。如果你想要什么,你需要拥有自己带来的东西。
OR
只是改变线
getmess = commands.getstatusoutput(” rabbitmqctl list_queues消息 ')
到
getmess = commands.getstatusoutput(' /usr/sbin/rabbitmqctl list_queues messages')
这rabbitmqctl帮助您找到路径rabbitmqctl
PS
对不起,我的英语(:
谢谢,这很完美! – Riorita
不是一个编程问题 - 尝试http://unix.stackexchange.com? –