FabricでSFTP
このあいだparamikoを試してみましたが、Fabricでも同じことができそうだったので、こちらも試してみました。
getとかputをするだけなら簡単なんですが、同レベルにファイル一覧を取得する関数が無さそう。
内部的にはglobがあるのでそれを使えなくもないです。
# coding=utf-8 from contextlib import closing from fabric.api import * from fabric.sftp import SFTP env.host_string = '**********' env.port = 22 env.user = 'yuhei' env.password = '*****' # ファイル一覧をprint print run('ls -ltra') # もしくは ftp = SFTP(env.host_string) with closing(ftp) as ftp: for remote_file in ftp.glob("/home/yuhei/*"): print remote_file # ファイルを取得 get('remotefile', '/path/to/localfile') # ファイルを送る put('/path/to/localfile', '/path/to/remotefile')