fabric で、サーバ情報収集して、その結果を取得するには、


fabric で、遠隔のサーバにはいり、処理をしてその結果を持ち帰るにはどうするのがいいでしょうか？

やりたいことは、

１．遠隔サーバの特定のディレクトリに、特定のユーザでログインして、ローカルサーバのスクリプトを実する。  
遠隔サーバには、スクリプトを置きたくありません。

２．実行結果を、ローカルサーバに移動して、実行結果を保存するために生成したファイルを消去する。

どうしても、fabric での解決をもとめているわけではないですが、fabric だと手間かけずにできそうなきがしたのです。




fabricでということであれば、ローカルサーバのスクリプトをputしてリモートに配置して実行、実行結果をリモートからローカルへget、そしてリモートに置いたスクリプトを削除・・・みたいな流れでいかがでしょうか。

putとgetのサンプル fabfile.py  
<引用サイト様：<http://perezvon.hatenablog.com/entry/20091026/1256552181>>

[code]

    from fabric.api import local, put, get
    
    def put_and_get():
    local('date > /tmp/local.txt')
    put('/tmp/local.txt', '/tmp/remote.txt')
    get('/tmp/remote.txt', '/tmp/remote2.txt')
    
[/code]

どのみち`ssh`することになるので、個人的には`expect`ですとか、`sshpass`なんかもおすすめです。

