8

rsync と SSH を使用して (Python プログラム内から) リモート マシンからファイルを取得したいと考えています。

rsync のローカル インスタンスを開始し、Paramiko で開いた SSH チャネルに導入するにはどうすればよいですか?

4

2 に答える 2

0

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 で使用する際に問題があるかどうか、または十分に長く持続しなかったかどうかを知りたいと思います。

于 2015-01-10T19:51:45.730 に答える