Utilice wget en un clúster con ssh-tunnel

Utilice wget en un clúster con ssh-tunnel

Normalmente puedo copiar archivos de una máquina a otra usando

> scp [email protected] ssh [email protected]:/home/user/my_files/* .

lo cual es muy lento para grandes conjuntos de datos.

Me dijeron que las máquinas que estoy usando tienen un enlace muy rápido al que se puede acceder con wget. ¿Cómo realizo la misma transferencia de archivos usando wget?

Respuesta1

Si tiene un enlace de red rápido, seguro y estable entre estas dos máquinas, puede usar una combinación de netcaty tar, como esta.

En la máquina de destino, ejecute:

nc -l 10000 | tar -C /destination/directory -xzf -

En la máquina de origen, ejecute:

tar -cz /source/directory | nc dst-machine-ip-address 10000

Tenga en cuenta que no se utilizará ningún cifrado, por lo que se puede rastrear el tráfico y, si por algún motivo se interrumpe la conexión, tendrá que empezar todo de nuevo.

Personalmente, seguiría el ritmo rsync.

Respuesta2

El rendimiento descppuede deberse a dos factores:

  • El coste del cifrado, que puede resultar excesivo para procesadores lentos,
  • El número de viajes de ida y vuelta necesarios para solicitar una única fila.

Para una gran cantidad de archivos pequeños es el segundo. Mi primera idea fue aconsejar el usoftp, ya que utiliza un programa diferente en el host remoto. Pero después de una prueba esto da un rendimiento similar.

La solución que funciona es utilizar un programa que se instala tanto en el cliente como en el servidor y envía solo un flujo de datos (en lugar de miles desshcanales):

información relacionada