如果我在这里,这是一个问题,而不是单独解决。
我正在尝试执行与服务器进行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不正确,但我不知道为什么(特殊字符?)
你有什么想法吗?
感谢您的帮助