best counter
GNU/Linux. MuyLinux

Tiny Backup: tú también puedes hacerlo

2/09/2010| por | 15 comentarios

Nota: este artículo ha sido redactado por uno de nuestros lectores, David Saltares, que desarrolló una pequeña aplicación llamada TinyBackup -tenéis más datos sobre ese lanzamiento en su blog, donde podéis encontrar otros proyectos suyos- y que se ha animado a explicarnos las bases sobre las cuales se basó su desarrollo. Como podréis comprobar, desarrollar un proyecto Open Source propio no es tan complicado como podría parecer.

tiny backup 500x125 Tiny Backup: tú también puedes hacerlo

Si eres de los que te gusta trastear con tu sistema GNU/Linux es probable que en multitud de ocasiones toques donde no debes y te veas obligado a reinstalar el sistema operativo. En ese caso comprendería perfectamente que hacerte con todos los paquetes a mano te suponga un dolor indescriptible.

Personalmente me he visto en la misma situación más veces de las que me gustaría y no aguantaba más. El tedio de numerosas reinstalaciones y las ganas de aprender el lenguaje de scripting orientado a objetos Python me llevaron a desarrollar Tiny Backup.

Tiny Backup

Tiny Backup es una sencilla utilidad que permite guardar una copia de la lista de paquetes instalados en nuestro sistema así como de los repositorios registrados. Imagina que, de pronto, tu sistema operativo deja de funcionar y tienes que comenzar de nuevo. En el mejor de los casos tendrás tu home en una partición distinta y tu configuración se habrá salvado.

tiny backup backup 500x229 Tiny Backup: tú también puedes hacerlo

Simplemente deberás restaurar todo el software utilizando los ficheros de paquetes y repositorios que guardaste con Tiny Backup. Hasta aquí ofrece algo parecido a lo que hacen otras aplicaciones de la misma familia, no obstante, Tiny Backup cuenta con algunos detalles que le dan interés adicional.

¿Qué pasa si mi disco duro se estropea? No tendrás copia de seguridad que valga a menos que la guardes en un dispositivo extraíble. Tiny Backup ofrece la solución adicional de enviar los ficheros de respaldo por correo electrónico. Por el momento soporta GMail, Hotmail y Yahoo aunque se pueden añadir más servicios si alguien lo demandara. Además, Tiny Backup tiene una interfaz muy sencilla y es tremendamente liviano (100KB con la licencia GPL v3 incluida).

tiny backup restore Tiny Backup: tú también puedes hacerlo

Antes de utilizarlo es necesario instalar sus dependencias, para ello ejecutamos:

sudo apt-get install python python-gtk2-dev

Para ejecutarlo podemos ingresar el siguiente comando o asignárselo a un acceso directo del panel de aplicaciones:

python /ruta-a-tinybackup/main.py

Como ya habrás supuesto está liberado bajo una licencia GPL v3 y puedes hacerte con él descargando el paquete correspondiente en su repositorio de Google Code. Si encuentras cualquier fallo o encuentras alguna posible mejora te estaría muy agradecido si me lo comunicases en mi blog.

Descargar Tiny Backup 0.1

El desarrollo de Tiny Backup

Como he mencionado al comienzo del artículo, desarrollé Tiny Backup en un par de días para asentar lo poco que sabía sobre Python (un magnífico lenguaje, por cierto). Actualmente estoy terminando Ingeniería Técnica en Informática de Gestión y si algo he aprendido en este tiempo es que la mejor manera de hacerse con una tecnología (librería, lenguaje o técnica de programación) es programando. Por supuesto si es desarrollando algo que te interesa, muchísimo mejor.

Tiny Backup utiliza las librerías GTK (concretamente el binding para Python llamado PyGTK) para la interfaz de usuario. Su carácter libre y multiplataforma (GNU/Linux, Windows y Mac) y su compatibilidad con multitud de lenguajes les confieren especial interés.

Glade, un gran editor de interfaces

Para diseñar la interfaz utilicé Glade, un imprescindible en el desarrollo de aplicaciones de escritorio utilizando GTK. Desde Glade diseñamos cada uno de los formularios y diálogos que compondrán nuestra aplicación para guardarlos en formato XML. La API de GTK se encargará de cargar dicho XML y renderizar muestra maravillosa interfaz de usuario.

glade 500x243 Tiny Backup: tú también puedes hacerlo

¿Qué ventajas nos aporta esto? La principal es la posibilidad de separar completamente la vista del código de nuestra aplicación. Si has utilizado algún IDE como Eclipse o Netbeans habrás comprobado que genera una tremenda cantidad de código para reconstruir la interfaz que hemos diseñado. Cada vez que lo pienso me entran escalofríos no sólo porque necesitemos recompilar el sistema tras cada modificación sino que el código se ensucia sobremanera.

Los más puristas del patrón de diseño “Arquitectura en tres capas” apreciarán la elegancia de separar radicalmente la GUI de la lógica. Si sólo necesitamos realizar pequeñas modificaciones en la interfaz es muy probable que ni siquiera tengamos que tocar una mísera línea de código. La modularidad y la independencia se ven potenciadas.

Glade cuenta con muchas más ventajas como la opción de decidir como se redistribuirán los componentes en un formulario cuando redimensionamos el mismo. Además es muy intuitivo y sencillo de usar. Si aún no te he convencido debes saber que muchas aplicaciones han sido desarrolladas con PyGTK y Glade, por ejemplo el estupendo reproductor de audio Exaile.

Los interesados pueden acudir a este genial tutorial para iniciarse.

Para terminar

En último lugar me gustaría agradecerle a Picajoso haber contactado conmigo tras mi comentario en el artículo sobre las CSS en GTK para invitarme a hablar sobre Tiny Backup y su desarrollo. Por supuesto, gracias a los lectores por aguantar este tocho de considerables dimensiones :)

¡Un placer y hasta pronto!

Related posts:

  1. 10 herramientas de backup para Linux
  2. Mandriva Click’n Backup
  3. Openhatch.org: tú también puedes ayudar al Open Source
  4. 21 herramientas de backup para Linux
  5. Tizen quiere triunfar allí donde MeeGo no pudo hacerlo

Hay 15 comentarios

  1. 1
    Kirtash1197 dice:

    Animo con tu desarrollo! Me gusta bastante la idea y lo voy a descargar.

  2. 2
    Kirtash1197 dice:

    Lo probe y es genial. Quizas haga un pequqño tutorial de tu programa y lo publique por ahi para que mas gente lo descubra.

    • 3

      Me alegro de que te haya gustado. Si escribes algo sobre él avisa, que estaré muy interesado en echarle un ojo. Uno de los siguientes pasos que podría dar es añadir soporte para internacionalización, es decir, para aplicar traducciones de manera sencilla.

      Saludos y gracias.

      • 5
        Kirtash1197 dice:

        Ok, si escribo algo te lo digo.

      • 6
        joveman dice:

        me servira de mucho ya que yo no cuento con una conexion permanente a internet… pero solo te saca una lista de los paquetes instalados o tambien una copia de los mismos???

        • 8

          Lamentándolo mucho, la aplicación genera un fichero con la lista de paquetes instalados y copia el /apt/sources.list de manera que es capaz de restaurar los repositorios de los que se disponian y recuperar esos paquetes. Para ello necesita una conexión a Internet.

          Si quieres tener una copia de seguridad de todos los ficheros deberías mirar rsync o simplemente hacer un tar de lo que desees (ten cuidado con inconsistencias).

          Tiny Backup te ahorra tener que reinstalar todo a mano. En realidad es una simple interfaz para algunas de las funcionalidades que proporciona el comando dpkg.

          Saludos.

  3. 4
    redtitle dice:

    Muy buen aporte y sobretodo práctico, instalar el sistema es un momento y si se pueden restaurar los repos y los paquetes, pues que voy a decir, una maravilla.

    Da gusto ver gente que se mete en el tema y aporta lo que ha hecho, animo y un saludo.

  4. 7
    ThecaTTony dice:

    La verdad que se trata de una utilidad muy buena, con mucho futuro. Te sugiero algo que no vendría mal, que también se haga el backup del/de los fichero/s de las llaves GPG de todos los repositorios instalados, de manera que no tengamos que bajar llave por llave al restaurar el sources.lst, y porque no del contenido de la carpeta /etc/apt/sources.lst.d/ donde se guardan los repositorios agregados mediante:
    add-apt-repository ppa:repo/ppa

    Saludos y mucha fuerza en el desarrollo.

  5. 9

    @redtitle ¡Muchas gracias por los ánimos!

    @ThecaTTony Llevas razón, es una mejora que se puede añadir :D, muchas gracias por el consejo.

    Saludos.

  6. 10
    dinpel dice:

    Hola muy buena la aplicación, pero e intentado hacer un acceso directo añadiéndola al menú principal pero no me arranca, decir que e instalado las librerias que me has nombrado. E puesto en la casilla comando lo siguiente

    python /ruta-a-tinybackup/main.py —>>python /home/sergi/tinybackup-0.1/main.py (pero no hace nada no arranca).

    Soy un poco novato en el tema por eso pregunto por que no se ya que hacer…

    Un saludo.

  7. 11
    Enrique dice:

    Como te comentaron antes, el respaldar el sources.list no es suficiente, lo que recomiendo es respaldar toda la carpeta etc/apt de esta manera incluyes claves GPG la carpeta sources.list.d y otras configuraciones adicionales de apt

  8. 12

    Pero si copias el sources.list y haces un apt get update si debes poder reinstalar los paquetes con total normalidad. SI quiero instalar algo que no esté en los repositorios, pongo el repo en la última línea del sources, apt get update e instalo el paquete. ¿No debería funcionar así?

    Saludos.

  9. 13
    miltux dice:

    Muy bueno hay que continuar con su desarrollo, el trabajo colaborativo no se hará esperar ya que es una gran idea.

  10. 14

    [...] http://www.muylinux.com/2010/09/02/tiny-backup-tu-tambien-puedes-hacerlo Categorías:UNIX – *BSD – GNU/Linux Comentarios (0) Trackbacks (0) Dejar un comentario Trackback [...]

  11. 15
    RjveraL dice:

    Genial. Simple y sencillo, pero poderoso…
    Podrías hacer algo similar para respaldar los perfiles del Thunderbird tipo MozBackup… yo estaba haciendo algo parecido pero nunca lo termine… claro que lo que yo estaba haciendo no estaba en python.

    Gracias.

    Atte.

    Rj

Escribe tu comentario