gpt4 book ai didi

Linux权限执行脚本

转载 作者:太空宇宙 更新时间:2023-11-04 12:43:26 24 4
gpt4 key购买 nike

问题是关于 sudo&cron我有 2 个服务器:

srv0
- 我通过 .ppk 和登录名进行身份验证
- 我用 sudo 手动运行简单的 .py 脚本。
- 脚本向网络服务运行命令并打印到文件时间+返回数据(元组)。它也由 cron 运行良好,这是目标

srv1 差异
- 我通过 root 密码验证
- 我可以在没有 sudo 的情况下手动运行脚本,而且效果很好
- Cron 运行良好,但打印到文件只是时间。它没有执行命令...它向/var/spool/mail/root 发送空正文消息

额外内容:
-/home/monitors,2个文件(.py,日志)在两台服务器上都是777

srv1 的 cron 有什么问题?也许在 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;/路径/到/命令/到/运行

Cron 对您的 shell 一无所知;它由系统启动,所以它有一个最小的环境。如果你想要什么,你需要自己带来。

只是换行

getmess = commands.getstatusoutput('rabbitmqctl list_queues messages')

getmess = commands.getstatusoutput('/usr/sbin/rabbitmqctl list_queues messages')

哪个rabbitmqctl帮你找到rabbitmqctl的路径

附言

对不起我的英语 (:

关于Linux权限执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39493052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com