rsync と SSH を使用して (Python プログラム内から) リモート マシンからファイルを取得したいと考えています。
rsync のローカル インスタンスを開始し、Paramiko で開いた SSH チャネルに導入するにはどうすればよいですか?
paramiko と rsync に問題があり、解決できませんでした。私は日常的に、次の典型的なフレームワークを使用して、他の多くのコマンド (mkdir、mpstat、サービス、ローカルの python プログラムなど) で paramiko を正常に使用しています。
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(domain, username="root",timeout=5)
stdin, mpstat, stderr = client.exec_command('mpstat')
x=mpstat.readlines()
# process the lines as though it is a file
rsync に関しては、paramiko ソリューションを追求するのではなく、次のように戻しました。
x='''ssh root@%s "rsync -aRzq root@%s:%s /root/Backups/%s/%s " \
'''%(BackupServerIP, ServerIP, file, Service, Server)
os.system(x)
私は通常、出力を処理するのが簡単なため、paramiko を好みます。そのため、rsync で使用する際に問題があるかどうか、または十分に長く持続しなかったかどうかを知りたいと思います。