久しぶりのscp関連の記事です。
www.whyit.work
で、scpでファイル転送に関する記事を書きましたが、今回はファイル転送時に、経過を表示させてみます。
前回のソースコードに追加してみます。
import paramiko import scp import sys ip_addr= '169.254.xxx.xxx' user_name = 'root' private_key = 'private_key.txt' def progress(filename, size, sent): sys.stdout.write("%s\'s progress: %.2f%% \r" % (filename, float(sent)/float(size)*100) ) client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(hostname=ip_addr, port=22, username=user_name, key_filename=private_key) # create scp client object scp_client = scp.SCPClient(client.get_transport(), progress = progress) # Get request to scp scp_client.get('/home/root/xxx.txt') scp_client.close() client.close()
これを実行すると以下のように経過が表示されます(既に100%ですけど)。
今日はここまで。