Las transferencias de archivos entre 2 linux se pueden hacer de muchas formas. En muchos casos he usado scp por ser la opción mas segura. Pero no siempre se quiere lo mas seguro para pasar archivos.

Paseando por la red encontré un artículo muy interesante donde explicaba una forma de pasar los datos mediante netcat (nc) que era bastante mas rápida que scp, pero claro, no son conexiones seguras. Pero seguro que hay casos en los que premia la velocidad antes que la seguridad.

 

SCP

Si queremos enviar por scp un fichero a otro servidor es bastante sencillo. Si quisieramos mejorar la velocidad de la transferencia la única opción que tenemos es el parámetro -C , que nos comprimirá el fichero en la transferencia. El comando sería el siguiente.

scp fichero.txt 1.1.1.1:/home/pepe/fichero.txt

 

Netcat

Esta opción es la mas rápida pero también la menos segura, si usais esta opción recordad que los datos pueden ser interceptados. Son dos comandos a usar, uno desde donde se encuentra el fichero y el otro hacia a donde va el fichero. El que ofrece el fichero tendría que ejecutar este comando.

tar -cf - /home/pepe/fichero_grande.txt | gzip -1 | nc -l 8888

 De esta forma este host se quedará escuchando en el puerto 8888 ofreciendo el fichero.

Luego en el host donde queremos que se pase el fichero ejecutaremos el siguiente comando.

nc <source host> 8888 | gzip -d | tar xf - -C /

 De esta forma pasaremos el fichero a este host.

El problema de estos comandos es que no vemos barra de porcentage, pero hay solución usando este comando desde el host que ofrece el fichero.

tar -cf - /u02/databases/mydb/data_file-1.dbf | \ pv -s `du -sb /u02/databases/mydb/data_file-1.dbf | awk '{s += $1} END {print s}'` | \ pigz  | nc -l 8888

 Recordad que esta opción solo debe usarse para redes SEGURAS, en el caso de que queráis que vuestro fichero no sea interceptado por una persona ajena.

 

 

Aquí podeis ver una tabla con la comparación de los dos comandos.

Comando

Tiempo de transferencia

Capacidad de la red usada

CPU usada

Ratio de transferencia

scp

4 min 50 seconds

~ 55 Mb per second ~ 5% ~ 55 Mb per second
ncp / gzip

2 min 1 second

~ 10 Mb per second

~ 15%

~ 132 Mb per second

 

 

La fuente es la siguiente web. Tiene mas opciones, hecharle un vistazo si quereís ampliar.

http://intermediatesql.com/linux/scrap-the-scp-how-to-copy-data-fast-using-pigz-and-nc/

  • No se han encontrado comentarios

Deja tus comentarios

Enviar un comentario como invitado

0 / 300 Restricción de Carateres
El texto debe estar entre 2-300 caracteres
Sus comentarios están sujetos a moderación por un administrador.