Speed up rsync

Hace un tiempo en Speed up rm, les conté como ejecutar en paralelo muchos rm’s para borrar muchos archivos. ¡Pues ahora les traigo lo contrario!

¿Qué pasa cuando quienes copiar muchos archivos o directorios que son muy grandes?  ¡Pues acá el paralelismo también nos ayuda!

Usualmente se usa rsync para este tipo de labores, pero cuando son muy grandes y muchos, esto se puede volver brutalmente lento.

Por ejemplo, si quisiéramos copiar todos los datos del un servidor mysql hacia el /var/lib/mysql/data de otro servidor podemos ejecutar algo como esto:

cd /var/lib/mysql/data
ls | xargs --max-procs=4 -I% rsync -avz % root@servidorDestino:$PWD/

Con esto, vamos a ejecutar 4 rsync’s en paralelo con 1 archivo o directorio cada uno (ya que -I implica –max-args=1), desde el servidor local al servidorDestino.

Notas:

  • En el servidor local, se debe bajar el servicio mysql primero, do’h!
  • Se asume que el directorio /var/lib/mysql/data está creado y vacio en el servidor de destino.
  • Se utilizó ssh para realizar la conexión.
  • La autenticación se realizó utilizando llave ssh. Esto es altamente recomendable, si no, por cada rsync deberán introducir una contraseña.

¡Ojalá les sirva!

Speed up rm

¿Han tenido alguna vez que borrar muchos archivos en un mismo, pero son tanto que se aburren de esperar que eso suceda?

Pues, a mi me pasa regularmente con directorios que contienen millones de archivos pequeños.

Acá, rm es muy lento, ya que el borrado se hace en serie… uno por uno… Seremos abuelos antes de que termine. :(

¿Y no se puede paralelizar?
Por supuesto que si se puede acelerar rm!!

Que les parece si creamos 100 procesos de rm que borren 1000 archivos cada uno?

ls | xargs --max-args=1000 --max-procs=100 rm -f

Y bueno, pueden ser tan creativos como quieran….

find $directory -mmin +$seconds -type f | xargs --max-args=1000 --max-procs=100 rm -f {} \;

Que lo disfruten! ;)

Guía para hacer cafe

Hace más de 1 año que no escribo nada por acá, no me siento nada orgulloso, ni tampoco merezco una medalla por ello. No tengo ni que pensar mucho para encontrar el porque, es solo por tiempo… pero porque no me hago el tiempo de escribir algo.

La imagen es antigua, pero la encontré hace unos días, y pensé que era algo bueno para re-comenzar a escribir en mi blog.

Yo reconozco que el espresso doble es el mio.
¿Y el tuyo?

Angry Birds para Chrome

El día de ayer, se publicó Angry Birds para Google Chrome.

Y rápidamente fue hackeado.
¿En que consiste el hack? El desbloqueo de todos los niveles.

En lo personal, mi rendimiento y concentración en el trabajo se han visto disminuidos. Así que le hice una pequeña modificación al hack anterior, para que el juego ya no sea desafiante.

var i = 0;
while(i<=69) {
  localStorage.setItem('level_star_'+i, '3');       /* Estrellas */
  localStorage.setItem('level_score_'+i, '999999'); /* Puntaje */
  i++;
}
window.location.reload();

Estoy segudo, que con este cambio, no me despedirán tan pronto. :)

Android Youtube 2.0.26

El miércoles actualicé mi teléfono con Android 2.3.2 (explicaré luego el como y con qué)… así que con eso perdí las aplicaciones, porque obviamente no fue un update automático.

Al tratar de descargar las aplicaciones del Market me encontré con que (por ejemplo) la aplicación de youtube no estaba disponible… así que encontré la aplicación de Youtube 2.0.26 y la instalé directo del apk.

Como me imagino que quizás deben tener una versión más antigua, acá se las dejo… que la disfruten!