Rápido o bien??
Hete aquí mi post dominical. Ésta vez, intentaré tocarle la moral a alguna que otra persona. :-)
Muchas veces, me veo ante el dilema de si lo que estoy haciendo, es mejor hacerlo de forma rápida, con alguna chapuza, q cumpla su objetivo y salga funcionando lo antes posible o hacerlo de la manera "correcta" (si es que la hay) aunque me lleve mucho mas tiempo, y cueste mas sacar algo que funcione, aunque claro.. en esas situaciones, la satisfacción es mayor.
Por ejemplo, actualmente (por no decir los ultimos dos fines de semana) me vengo volviendo loco intentando hacer backups de 3 maquinas que tengo:
- Un portatil con Gentoo Linux
- Un ordenador con FreeBSD 6.0
- Un ordenador con Gentoo linux (en el otro hemisferio....)
Las opciones entre las que me he estado debatiendo son, por un lado DAR , una excelente herramienta al mejor estilo tar pero mas bien pensado para hacer backups en un disco duro convencional o en cd/dvd. Me parece una utilidad excelente, aunque hay que tener algunos cuidados, como por ejemplo, compilarlo correctamente ya que si no se lo "tunea" puede llegar a voltear hasta al mas estable de los servidores ya que se "chupa" toda la memoria (con la swap incluida de postre).
Otro problema que le noté, es que al hacer backups de ordenadores remotos, luego nos enfrentamos al problema de traer hasta nuestro ordenador los regordetes ficheros resultantes.
La otra opción, y por la que me he decantado finalmente, es rsync , que a pesar de que no comprime los ficheros en el sistema de archivos de destino (tiene una opción para hacerlo en la transferencia para ahorrar ancho de banda) resulta ser la utilidad ideal (o casi) para mis necesidades, ya que transfiere de forma encriptada por un tunel SSH los ficheros, transmitiendo la primera vez todos los archivos, y en sucesivas ejecuciones las diferencias desde el ultimo backup.
Ahora, me enfrento al problema que da origen a éste post:
Necesito un script para realizar los backups de manera automatizada, Lo cual me pone en guerra nuevamente con desiciones como:
- ¿Lo hago en un script bash, tipo chapuza, con todos las opciones metidas entre el código, y mediante el método de prueba,error y paciencia lo saco funcionando?, o
- ¿Utilizo algún lenguaje más apropiado como Ruby o Perl, y me tiro 3 meses lidiando y depurando para que funcione con archivos de configuración, logs, notificaciones por mail, etc?
Por lo pronto.... Too much PC for a Sunday.
1 Comments:
Discrepo 1.0
Aprobecharé tu post para expresar lo que sigue: Discrepo acerca de tu duda. Tu plantéas la duda entre resolver algo bién, o resolverlo rápido. Creo que el problema viene de antes, el enfoque no es acertado. Supongamos que efectivamente tenemos un problema, y como poco dos soluciones posibles, y una de ellas es "mala" (chapucera, sucia, etc...) y otra la "buena". Aquí es donde falla todo: creo que no es que una séa buena y la otra no (siemper aceptando que las 2 son válidas, y que la mala no haya que rehacerla a los 2 días); simplemente son soluciones diferentes al mismo problema, simplemente diferentes. Con lo que en ciertos casos, puede interesarnos una, y en otros otra.
Si bién todos entendemos que, como solución, "técnicamente" y "formalmente" siempre hay unas mejores que otras, y generalmente las más complejas y largas, son las "mejores" técnicament hablando, suelen controlar más variables que las estrictamente necesarias para solucionar el problema, pero implican una mayor complejidad, y tiempo de desarrollo.
En resumen, si que hay varias opciones disponibles, y sí que una es "mejor" que otra, pero no depende de eso la decisión, sino de lo que nos interese en cada momento. Por ejemplo, a mi, generalmente, me suele encantar tener todo mega-tuned-config-personalized y eso; pero jamás pensaría aplicar mis soluciones en la mayoría de los casos; simplemente porque los otros "problemas" no requieren tal nivel de "adaptación" de la solución; con lo cual se convierten en "peores" soluciones para esos casos. En fín, que queda claro. Cada uno que haga lo que le salga de los huevos. Ahora bién, hay que añadir, que, a favor de las soluciones rápidas y sencillas hay siempre argumentos: son rápidas, y sencillas... ya, probablemente el día que quieras añadir alguna cosa a tu backup tengas que volver a tocar todo... pero si utilizas un sistema complejo te será más complicado implementarlo, y empezarás a hacer los backups justo cuando necesites un restore urgente. :)
En realidad pienso que eso toca el tema de la "chapuza" "parche", etc. Y cuando hablamos de 2 soluciones, una rápida y simple, y la otra larga y compleja, en realidad solemos estar hablando de:
"preparo una chapuza para que aguante unas horas" frente a "me curro el trabajo que ya tenía que haber hecho otro antes, pero optó por la a)". O séa, que la duda no suele estar entre 2 soluciones, sino entre una cagada para salir del paso, o ponerse a currar.
Publicar un comentario en la entrada
Links to this post:
Crear un enlace
<< Home