Transferir archivos entre los equipos de una red local mediante UDPcast | Algo de Linux

lunes, 27 de mayo de 2013

Transferir archivos entre los equipos de una red local mediante UDPcast

Como ya comenté en un artículo anterior, UDPcast es una herramienta de transferencia de archivos que permite enviar datos desde un equipo a varios destinatarios a la vez en una red local de una forma bastante rápida, sobre todo si la transferencia la realizamos en modo multicast (opción por defecto).

Y, como ya dije también, podemos usar UDPcast para:
  • Transferir archivos o directorios.
  • Clonar particiones directamente.
En este artículo voy a contar cómo enviar y recibir archivos y carpetas, pero, en otro momento veremos cómo clonar directamente, usando el UDPcast que montamos en el disco duro.

Para poder transferir archivos mediante UDPcast entre mis máquinas, lo primero que tenemos que hacer es instalar el paquete udpcast. Yo lo he instalado mediante puppet en todos los clientes, pero si tuviérais que instalarlo a mano, no hay ningún problema, porque se encuentra en los repositorios:

# apt-get install udpcast

Una vez instalado, ya podemos enviar y recibir. Así que abrimos una consola en el equipo que va a realizar el envío y otra en cada uno de los equipos que lo van a recibir.

Enviar y recibir archivos
UDPcast está pensado para enviar archivos de forma individual. Así que, si comprimimos el archivo antes de enviarlo, la transferencia se realizará en menos tiempo.

En el equipo servidor ejecutaremos:

# udp-sender --file archivo

Y en los equipos receptores:

# udp-receiver --file archivo

En el servidor nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a enviar datos:

"Ready. Press any key to start sending data."

En los clientes nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a recibir datos:

"Press any key to start receiving data!"

Pulsamos una tecla en el servidor o los clientes y comenzará a realizarse la transferencia.

Enviar y recibir directorios
 Si queremos enviar y recibir directorios, mediante un pipe podemos hacer uso de un empaquetador como tar o gzip:

En el equipo servidor ejecutaremos:

# tar cf - directorio | udp-sender

Y en los equipos receptores:

# udp-receiver | tar xf -

Al igual que en el caso anterior, en el servidor nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a enviar datos:

"Ready. Press any key to start sending data."

Y en los clientes nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a recibir datos:

"Press any key to start receiving data!"

Pulsamos una tecla en el servidor o los clientes y comenzará a realizarse la transferencia.

Enviar y recibir particiones
Como las particiones se tratan como archivos, si queremos clonar una partición, tan sólo tenemos que especificar el nombre de esa partición. Por ejemplo, si queremos clonar directamente la partición sda1 de una máquina en un conjunto de máquinas remotas:

En el equipo servidor ejecutaremos:

# udp-sender --file /dev/sda1

Y en los equipos receptores:

# udp-receiver --file /dev/sda1

En el servidor nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a enviar datos:

"Ready. Press any key to start sending data."

En los clientes nos mostrará un mensaje que dice que pulsemos una tecla para comenzar a recibir datos:

"Press any key to start receiving data!"

Pulsamos una tecla en el servidor o los clientes y comenzará a realizarse la transferencia.

 Algunas opciones útiles
UDPcast tiene muchas opciones. Algunas de las que me parecen más interesantes son las siguientes:
  • --interface ethX: Útil, si el equipo tiene varias interfaces de red para que escuche en una determinada.
  • --nokbd: Sirve para que el comando no espere a que el usuario pulse una tecla.
  • --min-receivers n: Sirve para indicar el número mínimo de receptores.
  • --min-receivers n: Sirve para indicar el número máximo de receptores.
  • --min-wait t: Mínimo tiempo (en segundos) a esperar antes de comenzar la transferencia.
  • --max-wait t: Máximo tiempo (en segundos) a esperar antes de comenzar la transferencia.

No hay comentarios: