Я запускаю скрипт из 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)
Я ослеп, пытаясь найти точно, где я ошибся.Есть идеи?