0

如果我在这里,这是一个我无法单独解决的问题。

我正在尝试编写一个与服务器进行 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 不正确,但我不知道为什么(特殊字符?)

你有想法吗 ?

感谢帮助

4

0 回答 0