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 の man ページが表示されます。

cmd2 var が正しくないと思いますが、理由がわかりません (特殊文字?)

アイデアはありますか?

手伝ってくれてありがとう

4

0 に答える 0