如果我在这里,这是一个我无法单独解决的问题。
我正在尝试编写一个与服务器进行 ssh 连接的代码,并向我发送一封带有 Apache 统计信息的邮件(由 GoAccess 生成)。
这是我的代码:
#!/usr/bin/env python2
import paramiko
cmd2 = "goaccess -f /var/log/apache2/home_access.log -a > /tmp/report.html"
def ssh_connect(host, login, password):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username = login, password = password)
stdin, stdout, stderr = \
ssh.exec_command(cmd2)
return stdout.readlines()
print cmd2
print ssh_connect('MyServer', 'MyUsername', 'MyPassword')
这是结果:
root@raspberrypi:/tmp# ./webstat.py goaccess -f /var/log/apache2/home_access.log -a > /tmp/report.html
我确认上述命令在我的本地服务器上工作(结果是在 report.html 中生成的 HTML 代码)
但是,当这个命令由 paramiko 传递时,我在 report.html 中有 GoAccess 的手册页。
我认为我的 cmd2 var 不正确,但我不知道为什么(特殊字符?)
你有想法吗 ?
感谢帮助