Programar copias de seguridad de Postgresql (CRON + Shell Script + Dropbox)

Generalmente yo no administro los servidores de mis clientes, a pesar de ello a veces me toca hacer las veces de administrador o sugerir ciertas cosas. Una de las cosas que suelo hacer es planificar un script en CRON para que haga una copia de seguridad de la base de datos todos los días y a partir de ahí ya se encargan ellos de hacer lo que consideren oportuno.

Estaba dándole vueltas a este tema cuando se me ocurrió la idea de utilizar alguna nube para sacar las copias fuera del servidor, la cuestión es que había que hacerlo de forma que no tuvieramos problemas de seguridad y privacidad en el proceso. Hay que tener en cuenta que el hecho de  subir nuestros archivos a otro servidor en la nube inherentemente hace que perdamos el control de nuestros datos y eso no podía pasar, ¿la solución? cifrar los datos.

 

Primero  necesitamos programar un script para que vuelque la base de datos a disco y que posteriormente la cifre. El Shell Script que yo utilizo lo he subido a github en un repositorio llamado backupscript, si alguien lo quiere utilizar tiene licencia GPL 3. Una apreciación, yo cifro los datos con GnuPG así que tendréis que tenerlo instalado y generar las claves pública privada para poder utilizarlo. El siguiente paso es utilizar el Shell Script como una tarea de CRON,  esto es sencillo ya que simplemente habrá que copiarlo por ejemplo al cron.daily. Por último tendremos que utlizar alguna herramienta para poder subir las copias a la nube, en este caso yo he utilizado Dropbox por dos motivos, el primero porque el cliente de Dropbox es libre con licencia GPL y el segundo porque proporciona la función de sincronización automática sobre un directorio lo cual significa que inmediatamente después de copiarse el archivo a disco se empieza a sincronizar con la nube.

Tutoriales sobre la instalación del cliente de Dropbox en Gnu/Linux hay muchos en internet así que no voy a explicar esta parte, lo que si quería comentar es que como Dropbox sincroniza sobre el directorio del mismo nombre «Dropbox» del $HOME del usuario y generalmente no vamos a querer dejar los archivos en esa ruta lo que podemos hacer es crear un enlace simbólico para solucionar este problema.

 

Yo lo tengo funcionando desde hace unos días en un servidor de un cliente y la verdad es que va de maravilla.

 

Cheli

Openbravo ERP vs OpenERP, lo que dice Google

Hace dos años y medio ya hablamos de las tendencias de google con respecto a Openbravo vs OpenERP, entonces ya adivinamos el crecimiento que estaba teniendo OpenERP y como Openbravo ERP empezaba a caer irremediablemente. Me he puesto a revisar esta tendencia y este ha sido el resultado:

 

Openbravo vs OpenERP

Como véis la tendencia se ha acentuado aún más, curiosamente el punto de inflexión ocurrió justo en el momento que Openbravo empezó a cerrar su código. Por lo que parece la gente prefiere lo libre a lo privativo.

Un saludo.

 

 

Fork de Openbravo ERP 2.50 para darle mantenimiento

He decidido crear un fork de Openbravo ERP 2.50 con la única finalidad de darle mantenimiento. A pesar que según el wiki Openbravo 2.50 sigue estando en estado de soporte preventivo, exáctamente el mismo que tiene Openbravo 3.0, lleva ya 7 meses sin actualizarse. Yo les envié algunos parches que tampoco han querido añadir a la versión y este es uno de los principales motivos para crear el fork.

El repositorio es público y por tanto cualquiera puede acceder a él. Si alguien no sabe como aplicar los parches y necesita ayuda para actualizar su instancia en producción puede acceder al servicio que ofrezco de actualización desde cualquier versión de Openbravo 2.50 hasta la última disponible en mi fork, el precio es de 100€. Los interesados podéis dejar un comentario.

 

Un saludo.

Openbravo ERP vs OpenERP, Licencia 2 (derivados y módulos)

Al fin Openbravo ha contestado respecto a los derivados de los módulos privativos, o lo que es lo mismo casi cualquier cosa que no sea el core. Lo que dicen es lo siguiente:

 

  • The web POS is a commercial module under the OBCL, which lets licensees access, modify and deploy the code, but it cannot be redistributed
  •  If the third party  wants to build something on WebPOS, then there are two options
    • The new code is derivative of the WebPOS code, then it has to be licensed under a non-free license terms compatible with WebPOS terms
    • The new code is not a derivative work, but extends (separately) the webPOS functionalities, and it can be licensed as they wish. However, if the end-user then needs both modules (to run the new one), then the end-user needs the OBCL for the webPos part, and the GPL3 for the additional bit. This is the way the licensing of incremental modules works

     

 

  • El WebPOS es un módulo comercial bajo la OBCL, que permite al licenciado el acceso, la modificación y el despliegue del código, pero no la distribución
  •  Si se quiere desarrollar algo sobre el WebPOS, entonces hay dos opciones
    • El nuevo código es un derivado del código del WebPOS, en este caso se tiene que licenciar con una licencia privativa  compatible con la del WebPOS
    • El nuevo código no es un derivado, sinó que extiende (de forma separada) las funcionalidades del WebPOS, entonces puede ser licenciado como quieras. Sin embargo, si el usuario final necesita los dos módulos (para ejecutar el nuevo), entonces el usuario final necesita la OBCL para la parte del WebPOS, y la GPL3 para la parte adicional. Así es como funcona el licenciamiento incremental para los módulos

 

Esto significa que almenos si podría desarrollar módulos libres y seguir mi premisa de que todo el código que desarrolle debe ser libre. No me gusta esta opción, como ya comenté en un apunte anterior es parecido a lo que sucedía con la gente que desarrollaba utilizando java cuando no existía ninguna implementación libre y usable, pero bueno, al menos mi código sigue siendo libre.

 

Nota: Hablan de la GPL3 porque es el ejemplo que nosotros pusimos.

 

Cheli

La extorsión de Openbravo versión 2014

Hoy he tenido como un déjà vu, resulta que Openbravo después de varios años me quiere volver a extorsionar en mi trabajo, pero como decía mi padre «Esta vez habéis pinchado en hueso». Parece que a Openbravo no le ha gustado mi crítica sobre el soporte que dan, mi intención es siempre que se la tomen como una crítica constructiva y me hubiera encantado que la reacción y actitud hubiera sido la de «no somos lo suficientemente buenos, no damos un servicio de excelencia, intentaremos mejorar». Al fin y al cabo lo que yo conté fue la verdad, mi propia experiencia contada en primera persona con el servicio de soporte oficial.

Quiero dejar claro que la crítica nunca iba dirigida a los consultores que atienden las incidencias, de hecho como les dije hace poco en un correo-e, en este sentido el servicio ha mejorado mucho, en el 2008 a veces te contestaba gente que sabía menos que uno mismo sobre el problema a resolver. Ahora los consultores que cotestan son muy profesionales (gracias Jon Alegría y gracias Augusto Mauch), pero ellos mismos reconocen que tienen demasiadas incidencias y que prácticamente me olvidara de que resolvieran un issue fuera del soporte (aún dando los parches añadiría yo) porque esos quedan al final de la cola. Es comprensible y lícito que no resuelvan los issues que abre la comunidad si no tienen tiempo o recursos, ellos se dedican entre otras cosas a dar soporte, pero no lo es tanto que pagues y no te atiendan o lo hagan semanas o meses después. La sensación es que Openbravo invierte mucho en la parte comercial y descuida mucho a su equipo técnico y de soporte, la consecuencia es que su soporte tiene muchas deficiencias y una calidad justita en cuanto a atención y tiempos de respuesta aunque al final cuando consigues que te atiendan lo hacen correctamente. La consecuencia de todo esto es que termine por no recomendar su soporte a mis clientes.

 

En lugar de ponerse en contacto conmigo lo que han hecho es lo de siempre, han dado por sentado que mi crítica personal venía de parte de uno de mis clientes, que además es uno de sus socios, y se han puesto en contacto con el gerente general para que me ¿presione?. Por lo que me han contado lo que les ha dolido es que yo no recomiende la versión profesional o que mi cliente no la utilice para algunos de sus proyectos aún siendo socio de Openbravo, lo han considerado como un caso grave, pedían una explicación y que la dirección ya estaba al tanto de todo. Lo extraño es que todo esto viene de un mero comercial, al parecer el enlace a mi bitácora se lo había pasado el CTO. Lo que no entiendo es como teniendo mis datos de contacto que están publicados aquí mismo no se ponga en contacto conmigo para hablar sobre este tema en lugar de hacerlo infundadamente y injustamente con uno de mis clientes para acusarle de cosas de las que nada tiene que ver.

 

Siguen con sus tácticas de siempre pero bueno, no se dan cuenta que desde el 2010 yo no trabajo para nadie, soy mi propio jefe, y que ya no pueden hacer lo que me hicieron en el 2008 y 2009. No soy su socio y no pueden hacer nada para evitar que yo opine lo que considere oportuno en mi bitácora personal sobre su producto y su proyecto. Eso sí, siempre intentaré ser lo más objetivo posible y siempre sin faltar a la verdad.

 

Un saludo.

 

Cheli