私がここにいるとしたら、それは私だけでは解決できない問題のためです。
サーバーへの 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 の man ページが表示されます。
cmd2 var が正しくないと思いますが、理由がわかりません (特殊文字?)
アイデアはありますか?
手伝ってくれてありがとう