Una de mis tareas en mi trabajo es mantener la base de datos de una de las aplicaciones de la organización, el RDBMS es MySQL en su versión 5.0 comunity.
Accidentalemte se borro una de las tablas en dicha base y obviamente me pidieron que recupere la tabla del backup, yo muy feliz fuí a buscar los backup's para recuperar la tabla y me encuentro con que el último backup completo hera del 25 de feberero y solo con ciertos incrementales (binlogs de mysql), la mayoría del las copias fallaron debido a que la unidad donde relizaba los respaldos se ocupaba para otras cuestiones y aveces no contaba con el espacio necesario.
Al darme cuenta de lo sucedido empezé a sudar como testigo falso, dado que nunca me puse a controlar si los backups se realizaban adecuadamente, mea culpa. Empezé a pensar como podía recuperar la información e inmediatamente fuí a ver si los binlog seguían en el servidor de producción, y sí efectivamente estaban todos y completos.
Fue ahí cuando decidí recuperar la base completa al 25 de febrero y aplicar los binlogs hasta el día de la catastrofe, 18 de abril.
Descomprimí el backup completo de la base, obtenido mediante un msyqldump, y el mismo pesaba 14 GB, esto es debido a que en el mismo estaban todas las bases de datos de esa instancia y yo solo quería una de ellas a la que llamaré XXX.
Probe tratar de editar el archivo con vi, nano, kedit, gedit pero ninguno podía abrirlo. Sin saber que hacer para extraer solo la base XXX del backup se me ocurrió utilizar la consola de linux. Lo primero que hice fue ver las lineas donde empezaban las bases, como?, fácil, en el dump de mysql la primera instrucción es CREATE DATABASE, por ello realizé un grep con dicha expresión sobre el archivo e indique me muestre los números de líneas.
grep -n "CREATE DATABASE" bkp-25-02-2008.sql
El mismo me arrojo algo así
10 CREATE DATABASE ....
1400 CREATE DATABASE ....
23456 CREATE DATABASE XXX
45234 CREATE DATABASE ...
....
Una vez que tenía la línea donde empezaba y terminaba el dumpeo de la base XXX, realizé un head hasta la línea 45234 para obtener la primera parte y luego apliqué un tail desde el final a la línea 21778 (45234 - 23456). El comando quedo algo así
#head -n 45234 25022008.sql |tail -n 21778 > recorte.sql
Una vez que termino el archivo resultante quedo de 2.7 GB. En una base de datos limpia cargue el dumpeo recortado.
mysql -u root -p < recorte.sql
Al finalizar tenía la base lista al 25 de febrero y solo restaba aplicar los binlogs de cada día. Como heran varios decidí hacer un pequeño script en python para que los procese de a uno. Básicamente hera un bucle for que iba desde el número de binlog incial (1828) al final (1976), este transforma cada bin log en un script sql (mysqlbinlog) y lo deja en un archivo temporal el cual es importado a la base.
#!/usr/bin/python
import os for i in range(1828,1976):
print i
file = 'mysql-bin.00%s' % str(i)
os.popen('rm tmp.sql')
os.popen('mysqlbinlog --database=XXX %s > tmp.sql' % file)
os.popen('mysql -u root --password=lapass <>
La primera vez que lo probe arrojo unos errores, lo primero que pense es que continuaba la importación después de el error pero había sido que no, la importación se corta directamente en el punto de error, en consecuencia faltaba muchisima información.
Al final de todo y después de varias pruebas tuve la suerte de poder recuperar la información.
Esta fue una linda experiencia para contar pero no para vivirla, todo esto se hubiese solucionado siendo un poco cuidadoso en chequear los backups generados automáticamente.
lunes, 28 de abril de 2008
jueves, 24 de abril de 2008
Debian y ACPI

Hace unos días instale en mi laptop Debian sacando mi querido gentoo el cual estaba instalado hace 2 años prácticamente. La razón del cambio, bueno básicamente en mi trabajo todos los servers tienen debian, por ende quería estar metido a full con esa plataforma, de tal manera poder adquirir buena experiencia para resolver los problemas mas rápidamente.
adicionales al kernel para que arranque debidamente en mi Después de haber terminado la instalación básica, solo sistema base, comencé a instalar los programas que generalmente uso, al terminar quiero apagar la maquina como siempre lo hago, presionando el botón de power, y la maquina no se apago corriendo la secuencia de apagado normal sino que directamente se apago, es decir fue un apagado forzado.
Sin dudar me dí cuenta que hera problema del ACPI, el cual probablemente se me deshabilito cuando comencé la instalación del sistema y pase parámetros al kernel para lanzar la instalación (noapicnolapic vga=711).
La solución fue instalar los paquetes para acpi :
apt-get install acpi acpid acpitool laptop-mode-tools
Y por último pasar el parámetro acpi al kernel, editando el archivo /boot/grub/menu.lst, en la línea del kernel que utilizan deben añadir acpi=force.
title Debian GNU/Linux, kernel 2.6.18-5-486
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-5-486 root=/dev/hda1 ro vga=771 acpi=force noagp
initrd /boot/initrd.img-2.6.18-5-486
savedefault
Después de reiniciar las funciones de ACPI funcionaron de mil maravillas.
martes, 22 de abril de 2008
RAID on linux
En mi casa tengo mi vieja PC Pentium 3 de 800 mhz con 512MB de ram, la misma cuenta con 2 discos de 20 GB y uno de 40 GB. Dicha pc cumple la función de file server hogareño, access point casero (me salía más barato que comprarme uno), servidor LAMP en el cual tengo montada mi página personal (http://www.casiva.com.ar), servidor de descargas y host para la maquina virtual con windows que utiliza mi padre. El sistema operativo base que tengo instalado es Debian etch.
La cuestión es que la máquina estaba pidiendo ayuda a los gritos, básicamente se arrastraba, así que me puse a pensar que podía hacer para mejorar su performance sin gastar un centavo lo que me llevo a decidir montar un RAID 0 entre los discos de 20 GB.
Para ello realizé una instalación nueva, dado que reparticioné los discos creando dos particiones de 20GB en los discos elegidos. La creación del RAID la realizé mediante el instalador del sistema Debian, allí seleccione las particiones señalando que serían parte de un RAID, por ultimo creé un dispositivo RAID mediante el mismo instalador, al finalizar me apareció en el asistente de particionado del instalador de Debian una unidad md0, la que representaba al RAID recientemente creado, elegí dicha unidad como punto de montaje de la raíz y continué con los pasos de instalador.
Después de una semana de testeo del RAID no tengo de que quejarme, se comporta de mil maravillas y logre alcanzar un rendimiento mucho más aceptable. No realizé benchmarkings para presentarles los hechos con números y que saquen sus propias conclusiones, pero con el simple uso del sistema uno se da cuenta de la mejoría.
En conclusión, es una buena técnica de optimización que no nos lleva a gastar dinero. Recomiendo que lo prueben.
Mas info:
Wikipedia : Tipos de Raid
viernes, 18 de abril de 2008
MySQL - Ahora se cierra el circulo

Acabo de enterarme que Sun decidió empezar a cerrar más aún el código de MySQL, cosa que no me sorprende para nada dado que siempre avise a todo el mundo de que esto pasaría y pocos me escucharon.
Según tengo entendido una de las carácteristicas más interesantes que no estarán disponibles en la versión de la comunidad es la de backup-online (característica muy necesitada para cualquier entorno de producción del tipo 24/7).
Muy interesante a todo esto es la reflexión de Facundo Arena, muy sabía por cierto.
viernes, 4 de abril de 2008
Inocente Palomita
miércoles, 2 de abril de 2008
Vamos a Marte!

Esta gente de Google no para de sorprenderme, ahora se les ocurrió colonizar marte, si si colonizar marte.
El nombre del nuevo proyecto es Virgle, dado que la operación se realizará en conjunto con la empresa Virgin y Google.
La idea es comenzar a enviar equipos, herramientas y provisiones a marte, posteriormente enviar a un equipo inicial de colonizadores para empezar a crear los elementos necesarios para el nuevo hábitat.
Parece un poco descavellada la idea pero esta bueno que alguien se ponga las pilas sobre este tema, no puede ser que en el siglo 21 todavía estemos tratando de hacer caminar un robot y que la innovación más grosa hasta el momento sea el microchip, vamos genios a trabajar!
Visitando el site del proyecto también vi como cosa interesante que el planeta será Open Source, es decir el proyecto liberará todo el conocimiento que adquieran tratando de realizar su objetivo a todo el mundo, de tal manera de promover la investigación.
Aquellos interesados en ser parte de los pioneros pueden llenar el formulario de subscripción. (Me mataron las preguntas), igualmente el primer viaje no esta pensado para hasta dentro de 20 años (yo ya estaría muy viejo y loco para ir).
miércoles, 26 de marzo de 2008
miércoles, 19 de marzo de 2008
Error al Autentificar con un Dominio
Ando tratando de montar un PDC con samba, ya estaba en la etapa casí final, tratando de autentificarme al dominio con una maquina con XP, cargo el usuario, password, elijo el dominio, doy enter (yo exitadisimo por entrar) y me sale este error:
The system cannot find message text for message number 0x%1 in the message file for %2.
Empeze a Googlear por todos lados sin tener mucho exito, ví que en mucho de los foros aparecia la pregunta pero nunca la respuesta. Casí desperado me dije a mi mismo, vamos a pensar y a razonar con todo lo leido.
Yo cargaba los usuarios a la base LDAP con phpLdapAdmin, uno de los foro decia que phpLdapAdmin no cargaba toda la información necesaría al usuario, por ello me puese a chequear los datos en una de las cuentas cargadas.
Analizando me encontré con que en uno de los campos pregunta por el UID, yo lo dejaba en blanco para que se generé automáticamente, la cuestión es que el Samba SID necesita en su final el UID asignado, y justamente en mi versión de phpldapAdmin este no se adicionaba. Todo esto llevaba al error mencionado. (Pueden ver en la imagen el formulario de carga para los usuarios).
La Solución fue cargar el usuario normalmente, y después copiar el UID generado y pegarlo al final del Samba SID (debería quedar algo así si el UID es 1000, el SID sería S-1-5-21-1773129792-2875165907-4035761026-1000).
Les dejo un link a una guía muy copada y resumida de como montar un PDC con samba.
http://jroliva.wordpress.com/samba-ldap-debian-40-etch/
lunes, 17 de marzo de 2008
Software Legal en Argentina
Intresantisimo articulo publicado en canal Ar sobre el panorama del software legal en argentina.
http://www.canal-ar.com.ar/Noticias/Noticiamuestra.asp?Id=5613
http://www.canal-ar.com.ar/Noticias/Noticiamuestra.asp?Id=5613
Argentina marcando presente en Google
Leyendo el blog de google me encuentro con la agradabe noticia de que un argentino, Diego Gavinowich, quien fue finalista un par de años antras del Code Jam (concurso de programación organizado por google), esta participando fuertemente en el nuevo Google Sky, un google heart pero para el espacio. Basicamente su labor es desarrollar la versión Web de dicho programa.
Felicitaciones, y el mejor de los exitos.
viernes, 14 de marzo de 2008
Que tristesa
Errores de seguridad o bugs en el sistemas suelen ser comunes, obviamente por que un desarrollador no puede preveer todas las variables del entorno de antemano, y obiviamente, somos humanos y nos equivocamos; pero la ultima que me enteré de Microsoft no tiene perdón.
Leyendo Kriptopolis me entero que el gran Exchange 2007 no contempla que el 2008 es bisiesto, y por tanto no acepta al 29 de febrero de 2008 como fecha válida, no permitiendo por ejemplo crear ni habilitar buzones de correo. Mi dios, eso es grave, como una empresa de esa magnitud puede cometer un error tan tonto. Lo más triste es que la concideran una empresa con altos estandares de desarrollo y que se yo, lo único que tiene bueno Microsoft es el marketing y la habilidad de robar cosas.
Según The Register otros productos de dicho proveedor, como Windows Server 2008, Windows Mobile y otros presentan tambien la misma falencia.
Leyendo Kriptopolis me entero que el gran Exchange 2007 no contempla que el 2008 es bisiesto, y por tanto no acepta al 29 de febrero de 2008 como fecha válida, no permitiendo por ejemplo crear ni habilitar buzones de correo. Mi dios, eso es grave, como una empresa de esa magnitud puede cometer un error tan tonto. Lo más triste es que la concideran una empresa con altos estandares de desarrollo y que se yo, lo único que tiene bueno Microsoft es el marketing y la habilidad de robar cosas.
Según The Register otros productos de dicho proveedor, como Windows Server 2008, Windows Mobile y otros presentan tambien la misma falencia.
jueves, 13 de marzo de 2008
G-Archiver
Siempre me tratan de paránoico y loquito cuando les digo que usar Software Libre es importante por que con un software cerrado uno no sabe que coño hace este, más alla de que miremos o no el código fuente.
G-Archiver es un programejo que sirve para hacer copias de seguridad de las cuentas de Gmail, aparentemente el mismo ha sido inspeccionado mediante Reflector, dado que estaba realizado en .NET, y mirando el código descompilado, el hacker, se dio cuenta que este shareware enviaba información a su creador sobre la cuenta del usuario del sistema. En otras palabras, el programita te robaba la contraseña.
Según el hacker, pudo entrar a la cuena de Gmail del creador y vio información de miles de usuarios de Gmail lista para usar (ver imagen).
Moraleja de la historía, cuidado con los software que utilizan.
Fuentes : http://www.kriptopolis.org/shareware-roba-passwords-gmail
IIS acelera la carrera
La gente de MS esta decidida a competir con Apache y ganar mercado en el rubro de servidores Web. Acutalmente, según netcraft, el 50,3% de la cutoa del mercado le corresponde a Apache y el 35% le corresponde a ISS. Algo interesante si concideramos años atraz cuando Apache tenía el 67% del mercado, igualmente este mercado no fue robado en su totalidad por ISS sino por varios nuevos competidores como lighthttpd. Debemos tener en cuenta el crecimiento del mercado, del cual no puedo encotrar la cifra de los ultimos años. En conclusión no creo que Apache haya perdido usuarios propiamente dicho, sino que perdió la posibilidad de crecer, lo cual no es poco.
Sinceramente no trabaje mucho con ISS, la poca experiencia que tube con el no me fue muy placentera, me parecio bastante tosco y limitado en comparación a la flexibilidad y modularidad de Apache. Igualmente la gente de MS "dice que" el nuevo ISS 7.0 es más seguro, más flexible y se puede administrar desde la línea de comandos, apoyando a una fuerte campaña de MS en su nueva famila de servers 2008 donde dicen que se podrá hacer todo desde el cmd (a donde estan los tontos linuxeros que hacemos todo desde la consola, he!, se dieron cuenta que es la mejor opción para administradores).
Buen Viaje Jorgito
Mis más humildes respetos a un grande de la TV, Jorge Guinzburg , quien falleció el día de ayer. Habiendo tanto hdp suelto le pasa a el, por que no se va el cabezón del canal de las 3 pelotas o el intruso de america, que lo único que hacen es volver mogolico a los jovenes que estan al pedo y las las viejas chusmas.
Volviendo al tema, que en paz dezcanses.
jueves, 6 de marzo de 2008
FLISOL 2008 Chaco - Corrientes
Se larga la FLISOL 2008 y este es el mensaje de los organizadores de este año.
-----
Hola,
te queremos invitar al evento FLISOL CHACO/CORRIENTES 2008 a realizarse en la ciudad de Corrientes el día sábado 26 de Abril de 2008 a partir de las 9hs, en la ciudad de Corrientes, en el Laboratorio de Informática de la Facultad de Ciencias Exactas de la UNNE (9 de julio 1449). La entrada es LIBRE y GRATUITA (CUPOS LIMITADOS).
REGISTRACION --- http://www.eventoflisol.com.ar/register
El Festival Latinoamericano de Instalación de Software Libre (FLISOL), es el más grande evento de Software Libre en Latinoamérica. Su principal objetivo es el de difusión y promoción del uso del software libre.
Habrá "Charlas introductorias", un "Install Fest" (te ayudaremos a instalar tu primer Linux) y un un encuentro de intercambio de ideas sobre el SL y su aplicación en el NEA, formación de GULs, coordinación de eventos, etc.
El evento está organizado por Neurowork, NESLA y el Polo IT Corrientes. Apoya y colabora la Facultad de Ciencias Exactas de la UNNE.
MAS INFORMACION --- http://www.eventoflisol.com.ar/
Por cualquier consulta contáctanos a contacto@eventoflisol.com.ar
Te esperamos !
///// COLABORA CON NOSOTROS /////
Estamos BUSCANDO gente que le interese COLABORAR. Si te queres unir al equipo de ORGANIZACION visitá:
http://www.eventoflisol.com.ar/producers
También puedes ayudar en la difusión del evento. Más información:
http://www.eventoflisol.com.ar/help
Saludos.
-----
Hola,
te queremos invitar al evento FLISOL CHACO/CORRIENTES 2008 a realizarse en la ciudad de Corrientes el día sábado 26 de Abril de 2008 a partir de las 9hs, en la ciudad de Corrientes, en el Laboratorio de Informática de la Facultad de Ciencias Exactas de la UNNE (9 de julio 1449). La entrada es LIBRE y GRATUITA (CUPOS LIMITADOS).
REGISTRACION --- http://www.eventoflisol.com.ar/register
El Festival Latinoamericano de Instalación de Software Libre (FLISOL), es el más grande evento de Software Libre en Latinoamérica. Su principal objetivo es el de difusión y promoción del uso del software libre.
Habrá "Charlas introductorias", un "Install Fest" (te ayudaremos a instalar tu primer Linux) y un un encuentro de intercambio de ideas sobre el SL y su aplicación en el NEA, formación de GULs, coordinación de eventos, etc.
El evento está organizado por Neurowork, NESLA y el Polo IT Corrientes. Apoya y colabora la Facultad de Ciencias Exactas de la UNNE.
MAS INFORMACION --- http://www.eventoflisol.com.ar/
Por cualquier consulta contáctanos a contacto@eventoflisol.com.ar
Te esperamos !
///// COLABORA CON NOSOTROS /////
Estamos BUSCANDO gente que le interese COLABORAR. Si te queres unir al equipo de ORGANIZACION visitá:
http://www.eventoflisol.com.ar/producers
También puedes ayudar en la difusión del evento. Más información:
http://www.eventoflisol.com.ar/help
Saludos.
lunes, 25 de febrero de 2008
htop
Hoy me presentaron una utilidad que no puedo creer que nunca la vi en mi vida como linuxero, se trata de htop, es una herramienta como top pero mas moderna, completa, interactiva y atractiva visualmente.
Se encuentra disponible en el apt de debian y en el portage de gentoo.
Su site es http://htop.sourceforge.net/index.php?page=comparison
No mas emacs para Stallman
Mediante el siguiente anuncio RMS notifica que no mantendrá mas Emacs
"Stefan y Tidon se ofrecieron a hacerse cargo, asi que estoy dispuesto a ceder el mantenimiento de Emacs a ellos"
Emacs es uno de los editores más clásicos y perversos de Linux. Prácticamente es una super suite para edición de txt mediante la cual podemos navegar en internet, manejar nuestro email y hasta jugar tetris.
Mas info http://es.wikipedia.org/wiki/Emacs
"Stefan y Tidon se ofrecieron a hacerse cargo, asi que estoy dispuesto a ceder el mantenimiento de Emacs a ellos"
Emacs es uno de los editores más clásicos y perversos de Linux. Prácticamente es una super suite para edición de txt mediante la cual podemos navegar en internet, manejar nuestro email y hasta jugar tetris.
Mas info http://es.wikipedia.org/wiki/Emacs
TN en Google
Yo miro poco y nada de televisión, solo series y peliculas. El día de ayer mi padre me avisa que en TN estaban pasando un informe sobre Google, rápidamente deje mi entretenido estudio (Ironia) y fuí a verlo. Mirando el divertido informe sucede que a la gente de TN se le ocurre cortar el informe y poner en vivo y en directo la asunción del nuevo presidente de Cuba (como que a la gente le importa la politica de una isla comunista), en fin, nunca volvieron a poner el informe. Para mí alegría me puse a buscarlo en su site Web (www.tn.com.ar) y encuentro los videos.
El informe esta muy interesante y te permite ver todas esas cosas que lees o escuchas por ahí de la gestion de RRHH en Google y no lo podes creer. Todo el reportaje esta cubierto por Federico Weimeyer, periodista informático al cual no lo soporto, dado que es un exajerado y vende ilusiones, pero realiza muy bien su trabajo dado que rebaja la información de las novedades tecnológicas al nivel de la gente no especializada en el tema.
Les dejo los links del informe dado que esta dividido en varias partes.
Parte uno
Parte dos
Parte Tres
Disfrutenlo.
Políticas de Backup
Me vi en la obligación de crear un par de políticas de backup para un servidor
mysql. La idea hera realizar todos los días un backup incremental y los días
domingos un backup completo.
No tengo muche experiencia en este RDBMS así que tube que buscar información
acerca del mismo, particularmente de como se hace un backup incremental
dado que solo sabía hacer el completo.
Entre toda la documentación que leí decidí hacer lo siguiente. Al backup
completo lo hago los domingos mediante mysqldump dejandolo en un directorio
compartido de otro servidor que sirve de intermediario antes de la descarga
al medio de almacenamiento permanente (cd o cinta, la descarga se realiza manualmente).
Para simplificar un poco las cosas cree un script en python que se encarga del
backup.
#!/usr/bin/python
import time
import os
pat = ''
os.chdir(pat)
curdate = curdate = time.strftime('%Y%m%d', time.gmtime())
archivo = curdate + '.sql'
archivocom = curdate + '.tar.bz'
cmd = "mysqldump -A -u USER --password=PASS -r %s" % archivo
os.popen(cmd)
cmdComprime = 'tar -jcvf ' + archivocom + ' ' + archivo
print cmdComprime
os.popen(cmdComprime)
cmdBorra = 'rm ' + archivo
os.popen(cmdBorra)
A dicho script lo almacene en el directorio /usr/local/bin y puse como dueño al root
y a los demas ni permiso de lectura dado que las password del administrador de mysql
esta escrita en dicho archivo.
Para el backup incremental utilice los los binary logs de mysql, para esto
habilite las opciones correspondientes en el archivo de configuración de mysql
(my.conf), el cual me quedo algo así:
log-bin = /var/log/mysql/mysql-bin.log
expire-logs-days = 7
max_binlog_size = 104857600
Configuré que la duración de los incrementales sea de 7 días, dado que realizo
un backup completo una vez a la semana, lo demas está por defecto.
Esto me dejá varios archivos en el directorio /var/log/mysql/, dichos archivos
son los backups incrementales. Por defecto cada archivo es por cada reinicio
y reinicio del servidor, cosa que no me convencio mucho, deseo que los archivos
del incremental sean por día (de lunes a sabado), para ello hay que cerrar una vez al día
el log y volverlo a abrir. Para poder cerrar el incremental y abrir uno nuevo hay que hacer
un FLUSH LOG, para esto utilizo la utilidad de línea de comandos mysqladmin, con
los siguientes parámetros.
mysqladmin -u USER --password=PASSW flush-logs
Para automatizar el proceso metí todo al crontab.
#Hace backup de Mysql completo a las 12:00 los domingos
30 2 * * 0 root /usr/local/bin/mysql-backup.py
#Hace el backup incremental de la base todos los dias excepto el domingo
30 2 * * 1-6 root mysqladmin -u USER --password=PASS flush-logs
Consideren que los archivos de log binarios utilizan un espacio conciderable en el disco (me encontre que llego a ocupar 45 GB en el servidor de producción cuando todas las bases del sevidor ocupaban aprox 10 GB).
Les dejo algunas referencias
http://dev.mysql.com/tech-resources/articles/point_in_time_recovery.html
http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
http://dev.mysql.com/doc/refman/5.0/en/backup-policy.html
mysql. La idea hera realizar todos los días un backup incremental y los días
domingos un backup completo.
No tengo muche experiencia en este RDBMS así que tube que buscar información
acerca del mismo, particularmente de como se hace un backup incremental
dado que solo sabía hacer el completo.
Entre toda la documentación que leí decidí hacer lo siguiente. Al backup
completo lo hago los domingos mediante mysqldump dejandolo en un directorio
compartido de otro servidor que sirve de intermediario antes de la descarga
al medio de almacenamiento permanente (cd o cinta, la descarga se realiza manualmente).
Para simplificar un poco las cosas cree un script en python que se encarga del
backup.
#!/usr/bin/python
import time
import os
pat = '
os.chdir(pat)
curdate = curdate = time.strftime('%Y%m%d', time.gmtime())
archivo = curdate + '.sql'
archivocom = curdate + '.tar.bz'
cmd = "mysqldump -A -u
os.popen(cmd)
cmdComprime = 'tar -jcvf ' + archivocom + ' ' + archivo
print cmdComprime
os.popen(cmdComprime)
cmdBorra = 'rm ' + archivo
os.popen(cmdBorra)
A dicho script lo almacene en el directorio /usr/local/bin y puse como dueño al root
y a los demas ni permiso de lectura dado que las password del administrador de mysql
esta escrita en dicho archivo.
Para el backup incremental utilice los los binary logs de mysql, para esto
habilite las opciones correspondientes en el archivo de configuración de mysql
(my.conf), el cual me quedo algo así:
log-bin = /var/log/mysql/mysql-bin.log
expire-logs-days = 7
max_binlog_size = 104857600
Configuré que la duración de los incrementales sea de 7 días, dado que realizo
un backup completo una vez a la semana, lo demas está por defecto.
Esto me dejá varios archivos en el directorio /var/log/mysql/, dichos archivos
son los backups incrementales. Por defecto cada archivo es por cada reinicio
y reinicio del servidor, cosa que no me convencio mucho, deseo que los archivos
del incremental sean por día (de lunes a sabado), para ello hay que cerrar una vez al día
el log y volverlo a abrir. Para poder cerrar el incremental y abrir uno nuevo hay que hacer
un FLUSH LOG, para esto utilizo la utilidad de línea de comandos mysqladmin, con
los siguientes parámetros.
mysqladmin -u USER
Para automatizar el proceso metí todo al crontab.
#Hace backup de Mysql completo a las 12:00 los domingos
30 2 * * 0 root /usr/local/bin/mysql-backup.py
#Hace el backup incremental de la base todos los dias excepto el domingo
30 2 * * 1-6 root mysqladmin -u USER
Consideren que los archivos de log binarios utilizan un espacio conciderable en el disco (me encontre que llego a ocupar 45 GB en el servidor de producción cuando todas las bases del sevidor ocupaban aprox 10 GB).
Les dejo algunas referencias
http://dev.mysql.com/tech-resources/articles/point_in_time_recovery.html
http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
http://dev.mysql.com/doc/refman/5.0/en/backup-policy.html
viernes, 22 de febrero de 2008
Creador de Teris en Contra del Software Libre, Chan!
En el siglo 21 el comunismo ruso desaparecio totalmente asumiendo como nuevo régimen el Capitalismo. Esto se puede verse en las declaraciones de Alexey Leonidovich Pazhitno (creador del Tetris).
En una entrevista realizada por Consumer.es el dice:
"Le diré mi opinión sobre el software libre: eso nunca debería haber existido y a día de hoy no debería existir. Y le diré por qué: el software libre destruye mercado. Allí donde con el esfuerzo de grupos de personas se construyen posibilidades de mercado, de riqueza y de prosperidad, llega gente irresponsable y crea desarrollos alternativos que hunden a las empresas. Y eso no es bueno para el desarrollo de la tecnología; el software libre no tiene proyección de mercado, no crea riqueza, sólo es una muestra de rebeldía estéril."
Y continua
"Lo cierto es que las ideas de Stallman pertenecen a una época pasada en la que sí tenían sentido: en los setenta y los ochenta, y yo también participé de esa actitud cuando era joven. Entonces no había posibilidad de negocio y parecía lógico compartir los desarrollos en el ámbito universitario para que crecieran. Hoy en día hay un mercado y nosotros hemos crecido."
Obviamente no estoy de acurdo con su opinión, pero la respeto.
Me gustaría decir al respecto que si bien sus declaraciones pueden llegar a tener razón en cierto grado, no es tan así. El software libre aporta mucho a las empresas comerciales, como nuevos conceptos técnologicos, mejoramiento de otros ya existente, recursos humanos altamente capacitados y principalemte oportunidades de negocio (sino preguntenle a Larry Austin que no para de crear empresas con base open source y llenar sus bolsillos de dinero).
Es cierto que el software libre cambia a la industría del software radicalmente, de pasar de los monopolios como los de IBM y Microsoft, en los cuales ellos determinaban el curso de la tecnología informática (debido a miles de estandares defactos) y manteniendo virtualmente presos a los usuarios debido a sus soluciones únicas e incompatibles (mediante el cual generaban millones de dolares de una manera no muy complicada una vez creado y pocisionado el producto en el mercado),
a pasar a un modelo comunitario en donde todos deben basarse en estandares internacionales, interoperabilidad entre plataformas y multiples proveedores para la misma solución, en el cual deben procuparse por la calidad del producto y la atención al cliente para poder competir con los demas proveedores (obviamente, en este modelo, no será tan sencillo ganar dinero liberando un par de service pack cada año).
Como siempre digo, el mayor beneficio del software libre, desde mi óptica, es para los usuarios (y la sociedad en general) más que para los proveedores de software. Pero con esto no quiero decir que los proveedores no deban usarlo sino que deben adaptar su modelo de negocio al modelo de software libre. Tengan en cuenta que los proveedores de soluciones informáticas pasamos más tiempo siendo usuarios que proveedores.
Aquí viene obviamente la cuestión de siempre, "Todo debe ser libre?", y mi respuesta como siempre es depende. Un sabio consejo que me dío alguna vez mi madre fue, "Todos los extremos son malos", decidanse ustedes.
Por lo pronto lo único que me gustaría decirle a este señor es, "Nunca me gusto el Tetris :P, y me uno de los juegos más pedorros de la historía"
En una entrevista realizada por Consumer.es el dice:
"Le diré mi opinión sobre el software libre: eso nunca debería haber existido y a día de hoy no debería existir. Y le diré por qué: el software libre destruye mercado. Allí donde con el esfuerzo de grupos de personas se construyen posibilidades de mercado, de riqueza y de prosperidad, llega gente irresponsable y crea desarrollos alternativos que hunden a las empresas. Y eso no es bueno para el desarrollo de la tecnología; el software libre no tiene proyección de mercado, no crea riqueza, sólo es una muestra de rebeldía estéril."
Y continua
"Lo cierto es que las ideas de Stallman pertenecen a una época pasada en la que sí tenían sentido: en los setenta y los ochenta, y yo también participé de esa actitud cuando era joven. Entonces no había posibilidad de negocio y parecía lógico compartir los desarrollos en el ámbito universitario para que crecieran. Hoy en día hay un mercado y nosotros hemos crecido."
Obviamente no estoy de acurdo con su opinión, pero la respeto.
Me gustaría decir al respecto que si bien sus declaraciones pueden llegar a tener razón en cierto grado, no es tan así. El software libre aporta mucho a las empresas comerciales, como nuevos conceptos técnologicos, mejoramiento de otros ya existente, recursos humanos altamente capacitados y principalemte oportunidades de negocio (sino preguntenle a Larry Austin que no para de crear empresas con base open source y llenar sus bolsillos de dinero).
Es cierto que el software libre cambia a la industría del software radicalmente, de pasar de los monopolios como los de IBM y Microsoft, en los cuales ellos determinaban el curso de la tecnología informática (debido a miles de estandares defactos) y manteniendo virtualmente presos a los usuarios debido a sus soluciones únicas e incompatibles (mediante el cual generaban millones de dolares de una manera no muy complicada una vez creado y pocisionado el producto en el mercado),
a pasar a un modelo comunitario en donde todos deben basarse en estandares internacionales, interoperabilidad entre plataformas y multiples proveedores para la misma solución, en el cual deben procuparse por la calidad del producto y la atención al cliente para poder competir con los demas proveedores (obviamente, en este modelo, no será tan sencillo ganar dinero liberando un par de service pack cada año).
Como siempre digo, el mayor beneficio del software libre, desde mi óptica, es para los usuarios (y la sociedad en general) más que para los proveedores de software. Pero con esto no quiero decir que los proveedores no deban usarlo sino que deben adaptar su modelo de negocio al modelo de software libre. Tengan en cuenta que los proveedores de soluciones informáticas pasamos más tiempo siendo usuarios que proveedores.
Aquí viene obviamente la cuestión de siempre, "Todo debe ser libre?", y mi respuesta como siempre es depende. Un sabio consejo que me dío alguna vez mi madre fue, "Todos los extremos son malos", decidanse ustedes.
Por lo pronto lo único que me gustaría decirle a este señor es, "Nunca me gusto el Tetris :P, y me uno de los juegos más pedorros de la historía"
Suscribirse a:
Entradas (Atom)