Copiar archivos pequeños de una PC a otra

Si alguna vez has intentado copiar un gran número de archivos pequeños a una memoria USB es probable que hayas notado que el tiempo que se tarda en completar la copia se incrementa considerablemente en comparación con el tiempo que toma copiar archivos grandes. Pues bien, recientemente tuve que hacer un respaldo de mis archivos y me sorprendió ver que al copiar usando un cable ethernet sufría el mismo problema; es decir, a pesar de tener una conexión de 100 Mbps, la velocidad podía bajar tanto hasta llegar a una velocidad de apenas unos 3 Mbps (~375 KB/s), lo que es un verdadero problema cuando intentas copiar 50 o más GBs.

Me parece extraño que no exista una solución predeterminada para este tipo de escenario (¿o tal vez sí la hay?) pero, en todo caso, es posible solucionar esto usando el comando tar en combinación con una conexión SSH. En resumen, la solución consiste en usar el comando tar para crear un bloque sólido de datos que se transfiere a través de la red como si fuera un único archivo de tamaño grande que, al igual que con las memorias USB, se copiará a mayor velocidad que los archivos pequeños. Efectivamente, el comando tar está generando un archivo comprimido que es enviado y después es descomprimido en la PC de destino; al usar la salida y entrada estándar para el comando tar, el proceso es transparente y en ningún momento tenemos que ver los archivos comprimidos en el disco duro.

Entendiendo los puntos anteriores, el comando para copiar a otra PC una carpeta con muchos archivos pequeños usando una conexión SSH, es el siguiente:

monstruosoft@PC:~$ tar -c nombre-de-la-carpeta | ssh monstruosoft@10.1.1.69 'tar -xvf - -C /carpeta-de-destino/'

Obviamente debes cambiar la IP de la PC de destino y los nombres de las carpetas de forma correspondiente para tu caso.

Al ejecutar este comando se te pedirá el password para conectarte remotamente a la PC de destino y después verás los archivos que están siendo copiados. Este comando no muestra una barra de progreso ni información sobre la velocidad o el tiempo restante pero vale la pena al incrementar considerablemente la velocidad de la copia de los archivos.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s