gpt4 book ai didi

python - 从 crontab 运行时,subprocess.popen 似乎失败

转载 作者:行者123 更新时间:2023-11-28 20:53:47 25 4
gpt4 key购买 nike

我正在从 crontab 运行一个脚本,它只会 ssh 并运行一个命令并将结果存储在一个文件中。

似乎失败的函数是 subprocess.popen

这是 python 函数:

def _executeSSHCommand(sshcommand,user,node):

'''
Simple function to execute an ssh command on a remote node.
'''

sshunixcmd = '/usr/bin/ssh %s@%s \'%s\'' % (user,node,sshcommand)
process = subprocess.Popen([sshunixcmd],
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
process.wait()
result = process.stdout.readlines()
return result

当它从命令行运行时,它执行正确,从 cron 看它似乎失败并显示以下错误消息。

这是 crontab 条目:

02 * * * */home/matt/scripts/check-diskspace.py >>/home/matt/logs/disklog.log

错误如下:

Sep 23 17:02:01 timmy CRON[13387]: (matt) CMD (/home/matt/scripts/check-diskspace.py >> /home/matt/logs/disklog.log)
Sep 23 17:02:01 timmy CRON[13386]: (CRON) error (grandchild #13387 failed with exit status 2)

我快要瞎了,试图找出我到底哪里出错了。有什么想法吗?

最佳答案

cron PATH 非常有限。您应该将绝对路径设置为您的 ssh/usr/bin/ssh 或将 PATH 设置为您的 crontab 中的第一行。

关于python - 从 crontab 运行时,subprocess.popen 似乎失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3780249/

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