Anda dapat menggunakan tugas latar belakang dengan perintah tunggu. Perintah Tunggu memastikan bahwa semua tugas latar belakang diselesaikan sebelum memproses baris berikutnya. yaitu gema akan dijalankan setelah scp untuk ketiga node selesai.
#!/bin/bash
scp -i anuruddha.pem myfile1.tar [email protected]:/tmp &
scp -i anuruddha.pem myfile2.tar [email protected]:/tmp &
scp -i anuruddha.pem myfile.tar [email protected]:/tmp &
wait
echo "SCP completed"
SSH dapat melakukan apa yang disebut "multiplexing" - lebih banyak koneksi melalui satu (ke satu server). Ini bisa menjadi salah satu cara untuk membeli apa yang Anda inginkan. Cari kata kunci seperti "ControlMaster"
Cara kedua menggunakan lebih banyak koneksi, lalu kirim setiap pekerjaan di latar belakang:
for file in file1 file2 file3 ; do
scp $file server:/tmp/ &
done
Tapi, ini jawaban untuk pertanyaan Anda - "Bagaimana cara menyalin banyak file secara bersamaan". Untuk mempercepat, Anda dapat menggunakan enkripsi yang lebih lemah (rc4 dll) dan juga jangan lupa, bahwa hambatannya adalah hard drive Anda - karena SCP tidak secara implisit membatasi kecepatan transfer.
Hal terakhir adalah menggunakan rsync - dalam beberapa kasus, ini bisa jauh lebih cepat daripada scp...
Saya tidak yakin apakah ini membantu Anda, tetapi saya biasanya mengarsipkan file (kompresi tidak diperlukan. cukup pengarsipan saja) di sumbernya, unduh, ekstrak. Ini akan mempercepat proses secara signifikan. Sebelum pengarsipan, diperlukan> 8 jam untuk mengunduh 1GBSetelah pengarsipan, perlu <8 menit untuk melakukan hal yang sama