[TIP] rsync en modo dios.


Otro título sugerido: Como ejecutar rsync, pero copiando absolutamente todo, incluídos los tiempos de modificación, creación y acceso, softlinks, hardlinks, todo, para que el resultado final sea indistinguible de la magia.

Me dejo a mi mismo como siempre, pero también a la posteridad, este comando que tengo que googlear cada vez que necesito: como hacer para que a rsync no se le escape nada al copiar datos y que el source y destination sean idénticos en todos los aspectos que el sistema de archivos subyacentes lo permita. No porque no esté documentado en el manual, sino porque es más rápido tenerlo agendado en algún lado, para las pocas veces al año en que necesito copiar preservando -casi- todos los atributos con excepción de algunos pocos.

Un comando de la muerte, imposible de recordar y que tengo agendado bloguear al respecto desde el 2015 según veo.
Bueno, 8 años más tarde hoy lo tuve que googlear de nuevo porque lo necesité. Aprovechando la oportunidad, lo dejo documentado aquí para cada vez que lo necesitemos de nuevo. 


El comando en cuestión se ejecuta así:

Sigue leyendo

[TIP] Como utilizar Rsync para copiar únicamente determinados tipos de archivo basandose en la extensión de los mismos,

 

Otro título sugerido: La lógica detrás del include/exclude de RSYNC, que no es tan obvia.

Otro: Rsync, la puta que te parió rsync.

 

De lo fácil o difícil que puede resultar hacer un backup con Linux, dependiendo de como lo mires.

 

Vá uno cortito y útil. No tan obvio y medio complejo de encontrar en la primera página de Google a menos que seas hábil Googleador, pero después te comés un garrón de la gran flauta: Como ejecutar Rsync para copiar archivos, pero únicamente determinados tipos de archivo, basando la selección en la extensión que tuvieran. Parece fácil, si.

Para el versado seasoned sysadmin Linuxero está será bastante obvia, no obstante, hoy la tuve que usar de nuevo por vez número mil y no me anduvo a la primera. No me acrodaba específicamente la sintaxis y terminé Googleando. Como siempre que me pasa esto me lo agendo para la posteridad, acá estoy de nuevo, y así se hace:

 

rsync -av --dry-run --include '*/' --include '*.php' --exclude '*' source/dir/ target/dir/

 

¿Bastante obvio, no? El de arriba va con un –dry-run para que puedas examinar la salida del comando. Si te resultó satisfactorio y no te mandaste ninguna cagada, sacale el –dry-run para que los archivos se copien efectivamente y si te molesta el output por pantalla, sacale la «v» de verbosity, quedando:

 

rsync -a --include '*/' --include '*.php' --exclude '*' source/dir/ target/dir/

 

¿Te sirvió? Pagame un café.

 

 

[TIP] Como limitar el ancho de banda de rsync.

Llega el día en la vida de todo hombre en que rsync le fuma tanto ancho de banda que le impide piratear cine en tiempo real desde Cuevana y páginas afines o piratear música en tiempo real desde servicios como Grooveshark y todo se ve y se escucha entrecortado.

Llega ese día en la vida de todo hombre pobre en que sopesadas las opciones y maldecidas las hijas de algún vecino te denigrás:

– Como me compré la internet para pobres ahora no me alcanza para hacer todo lo que quería. Como pago la conexión mas barata que existe en mi país del ISP mas barato que hay en mi país ahora toca joderme. O una cosa o la otra pero no las dos juntas. JO-DE-TE, GIL.

Bueno, va a ser que no.

iftop midiendo el ancho de banda de un rsync que está corriendo en el host remoto con el ancho de banda limitado a 256 KB

Sigue leyendo

[HowTo] Backup automático de tu sitio web o blog por FTP usando rsync.

Lo que sigue debe de ser una de las formas mas ineficientes de hacer un backup de un sitio existiendo tantas otras alternativas. No es por nada que cpanel, plesk, ispadmin y demáses te ofrecen la posibilidad de descargar un único .tar.gz conteniendo toda la información de tu sitio de un solo plumazo, pero ¿y cuando no tenés acceso al panel de control o login de shell?

Este caso es un clásico:

  • Tenés únicamente acceso FTP al espacio en donde alojás tu sitio, CMS, Blog o lo que fuere.
  • Querés hacer backups de vez en cuando de todo el contenido así cuando todo se vaya al bombo tenés desde donde recuperarlo.

Te explico como lo hago en mi caso, que es una de las tantas alternativas existentes. Con suerte, podrías trasladarlo al tuyo o inclusive, usar pedazos de mi idea en algún otro de tus proyectos.

La cuestión no es si vas a perder tus datos o no. La cuestión es cuando y por que.

Herramientas necesarias:

  • Una PC corriendo Linux
  • curlftp instalado o la posibilidad de escalar privilegios a super-usuario para poder instalar la herramienta.
  • rsync

Sigue leyendo