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) 317ページ
(追記)
私がparamikoを使っている時、時々timeoutの問題が起こることがあった。
その場合
http://www.stillhq.com/commentform.cgi?post=python/paramiko/000004
などを参考にして、回避する。
0 件のコメント:
コメントを投稿