SSH経由でrsyncを使用してリモートから複数のファイルをコピーする

SSH経由でrsyncを使用してリモートから複数のファイルをコピーする

を使用してリモートコンピュータから複数のファイルをコピーしたいと思いますrsync。だから、次のコマンドを使用します。

rsync -Pav -e 'ssh -i sshkey' user@remotemachine:/home/user/file1.zip file2.zip file3.zip  .

次のエラーが表示されます。

予期しないローカル引数:file2.zip argがリモートファイル/ディレクトリの場合は、前にコロン(:)を付けます。 rsyncエラー:main.c(1362)[Receiver = 3.1.0](コード1)の構文または使用エラー

ベストアンサー1

これはかなり古いですが、受け入れられる答えは少し厳しすぎます。複数のファイルが必ずしもrsyncの単一引数ではありません。からman rsync

ADVANCED USAGE
       The  syntax  for  requesting  multiple  files  from a remote host is done by specifying additional remote-host args in the same style as the first, or with the hostname omitted.  For
       instance, all these work:

              rsync -av host:file1 :file2 host:file{3,4} /dest/
              rsync -av host::modname/file{1,2} host::modname/file3 /dest/
              rsync -av host::modname/file1 ::modname/file{3,4}

したがって、OPのコマンドは次のようになります。

rsync -Pav -e 'ssh -i sshkey' user@remotemachine:/home/user/file1.zip :/home/user/file2.zip :/home/user/file3.zip  .

これは以前のバージョンのrsyncでは不可能でしたが、すべての主要なディストリビューションでは何年もこの作業を行ってきました。

おすすめ記事