Puede usar la tarea en segundo plano con el comando de espera. El comando de espera garantiza que todas las tareas en segundo plano se completen antes de procesar la siguiente línea. es decir, echo se ejecutará después de que se complete scp para los tres nodos.
#!/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 puede hacer lo que se llama "multiplexación":más conexiones en una (a un servidor). Puede ser una forma de pagar lo que quieres. Busque palabras clave como "ControlMaster"
La segunda forma es usar más conexiones, luego enviar cada trabajo en segundo plano:
for file in file1 file2 file3 ; do
scp $file server:/tmp/ &
done
Pero, esta es la respuesta a su pregunta:"Cómo copiar varios archivos simultáneamente". Para acelerar, puede usar un cifrado más débil (rc4, etc.) y no olvide que el cuello de botella puede ser su disco duro, porque SCP no limita implícitamente la velocidad de transferencia.
Lo último es usar rsync; en algunos casos, puede ser mucho más rápido que scp...
No estoy seguro de si esto te ayuda, pero generalmente archivo (no se requiere compresión. Solo archivar es suficiente) archivo en la fuente, lo descargo, lo extraigo. Esto acelerará significativamente el proceso. Antes de archivar, tomó> 8 horas descargar 1 GB. Después de archivar, tomó <8 minutos hacer lo mismo.