Gunakan tar
:
tar cvzf - -T list_of_filenames | ssh hostname tar xzf -
Saya ingin menggunakan scp untuk itu, tetapi scp hanya memungkinkan untuk mentransfer satu file dalam satu waktu.
Saya cukup yakin itu tidak benar, setidaknya tidak untuk scp
perintah yang disediakan oleh OpenSSH disertakan dengan sebagian besar distribusi Linux.
Saya menggunakan scp file1 file2 ... fileN [email protected]:/destination/directory/
cukup sering.
Untuk kompresi transparan, protokol SSH memiliki bawaan ini dan scp
dapat menggunakannya jika Anda memberikan -C
opsi pada baris perintah. Untuk banyak file kecil yang serupa, Anda akan menemukan opsi tar+gz yang disarankan oleh akira mendapatkan kompresi yang lebih baik karena dapat memanfaatkan kesamaan antara file-file tersebut di mana scp
kompres setiap file sebagai entitas yang terpisah. Saya biasanya lebih suka menggunakan scp karena lebih mudah untuk melanjutkan transfer sebagian (atau, meskipun saya tahu dalam situasi ini penanya tidak memiliki opsi) rsync
karena itu lebih mudah untuk melanjutkan dan berbagi keunggulan kompresi seluruh aliran opsi tar+gz.
Bukan scp -r yourdir otherhost:/otherdir
bekerja?
Coba ini kalau begitu:
tar cfz - . | ssh otherhost "cd /mydir; tar xvzf -"
z
-flag to tar melakukan kompresi. Atau Anda dapat menggunakan -C untuk ssh:
tar cf - . | ssh -C otherhost "cd /mydir; tar xvf -"