pythonで外部のサーバーにsshでアクセスして、そこでコマンドを実行する。
そのためにparamikoというパッケージを用いる。
以下はその例。
外部サーバにアクセス(ホスト名***, user名xxx, password +++)にアクセスし、コマンド"du . | sort -n -r"(どのディレクトリが容量を使っているかを調べる)を実行して、標準出力に表示する。
#!/usr/bin/env python
import paramiko
host="***"
port=22
user="xxx"
passwd="+++"
if __name__ == "__main__":
paramiko.util.log_to_file('paramiko.log')
s=paramiko.SSHClient()
s.load_system_host_keys()
s.connect(host,port,user,passwd)
stdi,stdo,stde = s.exec_command("du . | sort -n -r")
print stdo.read()
s.close()
参考文献
Python ポケットリファレンス (Pocket Reference)
(追記)
私がparamikoを使っている時、時々timeoutの問題が起こることがあった。
その場合
http://www.stillhq.com/commentform.cgi?post=python/paramiko/000004
などを参考にして、回避する。