Menyalin beberapa file dari jarak jauh menggunakan rsync over ssh


8

Saya ingin menyalin beberapa file dari mesin jarak jauh menggunakan rsync. Jadi saya menggunakan perintah berikut.

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

Ini menunjukkan kesalahan berikut

Arg lokal yang tidak terduga: file2.zip Jika arg adalah file / dir remote, awali dengan tanda titik dua (:). rsync error: sintaks atau kesalahan penggunaan (kode 1) di main.c (1362) [Receiver = 3.1.0]

Jawaban:


10

Semua file jarak jauh harus menjadi satu argumen untuk rsync. Jadi, cukup masukkan semua file jarak jauh dalam tanda kutip tunggal:

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

BTW, Anda juga dapat melakukan ini dengan Asterisk (Asterisk akan diselesaikan oleh remote shell):

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

1
Ini bekerja hebat karena Alexander yang Agung
SuperKrish

9

Ini cukup tua, tetapi jawaban yang diterima agak terlalu ketat - beberapa file tidak selalu merupakan argumen tunggal untuk rsync. Dari 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}

jadi perintah OP adalah

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

Ini tidak mungkin untuk versi rsync yang lebih lama, tapi saya pikir semua distro besar beberapa dengan ini selama beberapa tahun sekarang.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.