Menyalin file dengan ekstensi tertentu dengan scp


19

Saya ingin menyalin .jpgdan .pngfile dengan scp, tetapi ada file dengan ekstensi berbeda di folder yang sama saya salin. Saya melakukan hal berikut:

scp user@someRemoteHost.com:/folder/*.{jpg,png} .

Saya diminta memasukkan kata sandi untuk setiap jenis ekstensi. Apakah ada cara untuk melakukan ini sehingga saya hanya memasukkan kata sandi sekali saja?

Jawaban:


31

Ganti saja dengan:

scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .

Harap perhatikan sepasang kutipan tunggal. Dalam kasus Anda, shell lokal Anda sedang mengevaluasi ekspresi, mengubahnya menjadi:

scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .

maka dari itu kedua kata sandi itu diminta. Dalam solusi ini, sepasang tanda kutip tunggal melindunginya dari evaluasi oleh shell lokal, jadi itu adalah shell remote yang disebut oleh (remote) scp yang mengevaluasi ekspresi.


Bagaimana saya bisa memasukkan semua subdirektori dari direktori itu?
xxx ---

@ pushpen.paul Jika Anda tidak perlu memilih hanya file png dan jpg tetapi ingin menyalin semuanya, maka menggunakan misalnya scp -r user@someRemoteHost.com:'/folder' . harus melakukannya. Lain jika Anda hanya ingin menyalin png dan jpg di subdirektori tersebut, Anda mungkin tidak dapat menggunakan scp atau sftp (kecuali sftp / lftp dengan skrip kustom yang mungkin) tetapi perlu menjalankan sesuatu seperti ssh + sepasang tar sebagai gantinya. Anda harus mengajukan pertanyaan Anda sendiri dengan kebutuhan spesifik saat itu.
AB

7

Lebih baik menggunakan rsync untuk menyalin operasi antar server.

 rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath

Menggunakan rsync hanya akan meminta kata sandi sekali saja.

Juga di rsync saat mentransfer file, ia akan memeriksa di lokasi target apakah file tersebut ada atau tidak dan juga memeriksa apakah kontennya sama atau tidak di lokasi sumber dan lokasi target.

Jika file juga ada di lokasi target dan isinya juga sama, maka itu tidak akan menyalin file itu. Ini hanya akan menyalin file yang tidak ada di lokasi target, sehingga mengurangi waktu pemrosesan.

rsync sering digunakan sebagai alat cadangan tambahan.


8
Tidak masalah apakah digunakan rsyncatau scp, intinya adalah yang /folder/*.{jpg,png}harus mengutip '/folder/*.{jpg,png}' .
αғsнιη
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.