miércoles, 19 de noviembre de 2014

rsync - Copiar archivos a lo grande

Para copiar archivos en la consola, típicamente usamos cp. Es sencillo, rápido y funciona. Pero cuando se copian grandes cantidades de archivos, o incluso archivos muy grandes, y sobre todo entre dispositivos diferentes, empiezan los problemas. Conectas un pendrive usb, o la tarjeta de memoria de la cámara y le das a copiar 3000 fotos a tu carpeta Imágenes, o intentas pasar un archivo de 1,5gb a un pendrive. Comienza bien, pero pronto notas que empieza a ir cada vez mas despacio, hasta que parece que no acabará nunca.

La solución se llama rsync. Es un comando muy completo y potente que sirve para copiar archivos en forma local o remota, es decir que puedes usarlo entre dispositivos de tu ordenador, o para enviar archivos a través de la red.

Una función muy importante de rsync es que, si los archivos ya existen en la carpeta de destino, no los reescribirá, y si un archivo está cortado lo continúa desde donde ha quedado (por ejemplo, si la copia de aquél archivo de 1,5gb se ha cortado cuando sólo le faltaban 100mb). Es muy útil para hacer copias de seguridad, como mantener una réplica de toda tu carpeta Imágenes en un disco duro externo.

Al grano. Haremos:

rsync -avP /carpeta/de/origen/ /carpeta/de/destino/

ATENCIÓN: Es importante la barra inclinada ( / ) al final del directorio de origen. Si se coloca la barra inclinada, copiará los archivos que hay en ese directorio. Si no se coloca, copiará el directorio completo con sus archivos. En otras palabras:

rsync -avP /media/camera/ /home/yo/Imagenes/  

Copiará todos los archivos que hay dentro de la carpeta camera en la carpeta Imagenes. Pero:

rsync -avP /media/camera /home/yo/Imagenes/  

Creará también la carpeta camera/ dentro de Imágenes, con su contenido, quedando las imágenes dentro de /home/yo/Imagenes/camera/

La opción -a significa que se copiarán los archivos en modo «archivo«, y mantendrán los permisos, enlaces, usuario, grupo, etc, originales; también hará la copia recursiva (copiará los subdirectorios). La opción -v es para tener un feedback de lo que está sucediendo. Y la opción -P mostrará una barra de progreso de la transferencia y se encargará de los archivos transferidos parcialmente.

Descarga de vídeos con yt-dlp

yt-dlp es un programa para descargar vídeos de las principales plataformas online. Su uso básico es muy sencillo: En primer lugar, comprobam...