次のようにrsyncを使用しているとします。
rsync user@server:/path/to/file1 user@server:/path/to/file2 /local/directory
リモートサーバーのfile1とfile2をローカルディレクトリにコピーします。この場合、rsyncは2つのファイルをコピーするために2つの別々のSSH接続(各ファイルごとに1つ)を設定しますか、それともrsyncが1つのSSH接続を確立し、必要に応じて開きますか?
答え1
これを直接テストすると、使用している特定のバージョンのrsyncに有効な回答が得られます。
rsync -e $'sh -x -c \'exec ssh "$@"\' _' \
user@server:/path/to/file1 user@server:/path/to/file2 /local/directory
($''
上記の構文はkshまたはbashで利用可能な拡張ですが、適用されません/bin/sh
。)
sh -x
実行中の各コマンドについて、1行が記録されていることがわかりますssh
。コマンドが1つしかない場合、ssh
特定のバージョンのrsyncは接続を再利用できます。 (これはバージョン3.1.2を使用した私の自己テストの場合のようです。)