Archivo para 13 septiembre 2012

Envío múltiple de ficheros con netcat

Valga esto como curiosidad. Lo uso para evitar el uso de scp que pide contraseña al transferir archivos (habitualmente sale más a cuenta hacer un tar con los archivos y buscar la contraseña para el scp).

Supongamos que queremos enviar entre hostorigen y hostdestino 10 archivos: file0-file9.

En hostdestino:

for i in `seq 0 9`;do nc -l 3000 > file"$i";done

Se ejecuta primero esto.

En hostorigen:

for i in `seq 0 9`;do cat file"$i"|nc hostdestino 3000;sleep 2s;done

El sleep es la parte crucial, hace que espere dos segundos para que el hostdestino tenga tiempo de sobra de entrar en el siguiente ciclo de escucha en netcat.

Por supuesto, al depender de un temporizador para realizar la “sincronización” este proceso no es a prueba de fallos. Lo dicho, una curiosidad más que algo realmente práctico.

Anuncios