29 de marzo de 2011

Armandeándola en la chamba

Cuando trabajaba en Gipsa, había una historia famosa entre los empleados sobre la torpeza de nuestro jefe Armando (que además era hijo del dueño), según la cual en una de esas, al principio de las operaciones, cuando él apenas estaba aprendiendo a programar (cosa que nunca terminó de hacer), mientras trabajaba en una base de datos de telmex con millones de registros le había dado "DELETE from tablaX; enter". Ahora bien, todos los que saben de SQL entienden que eso vació por completo la tablaX, porque cuando borras un registro debes terminar el comando con un 'WHERE algo = "esto"', es decir: borra de la tablaX donde la columna 'algo' contenga "esto". Las terribles consecuencias fueron evitadas por Óscar, compañero que al final de su estadía en esa empresa era ya un master-gurú de php. Total que de ahí surgió el término, ya hiciste una armandeada, o ya la armandeaste.

Pues bien, el otro día descubrí que una de las páginas que hice en drupal para la empresa en la que trabajo, había sido hackeada por falta de actualizaciones. Tenía 5500 registros apócrifos que vendían viagra, drogas, réplicas de relojes, etc. Esos registros no se veían porque el sitio tiene accesible solamente unos contenidos específicos, lo cual también evitó que yo me diera cuenta inmediatamente después del hack. La cosa es que intenté usar el administrador para borrar esos contenidos malévolos, y me di cuenta de que me tardaría siglos, así que ahí fui a la base de datos y me puse a menearle: "Delete from node where type = blog; enter", muy bien, cinco mil registros menos, pero seguía habiendo entradas pirata, aunque estas ya en un tipo de formato similar al del resto del contenido. Entonces tuve una "gran" idea, borrar por id de usuario, así que: "Delete from node where user_id = 0; enter"... Pero el usuario cero era el del administrador, o sea que borré todo lo que había en la maldita página.

¡ARGH, ya la armandié!, grité en el interior de mi mente, y de inmediato, sigilosamente, me puse a buscar en google como desfacer el entuerto, pero como no estamos guardando un tipo de bitácora especial, nada que hacer... Afortunadamente había respaldado la base de datos unos meses atrás, y la página esa tiene contenido en su mayor parte estático. Así que restablecí el sitio, actualicé a mano lo que había sido actualizado desde que hiciera el respaldo, y avisé, no sin taquicardia y sudor frío derivados de lo sucedido, a mi jefe Chocos de la armandeada y posterior reparación.

2 comentarios:

Anónimo dijo...

juar, juar, juar, que cagado, lo bueno es que en esta era de la digitalización las armandeadas no son tan dañinas.

Recuerdo una ocasión en que perdí todos los archivos fuente de un proyecto. Lo bueno es que había una versión en línea de pruebas y ps pura talacha desde ahí, pero no hubo pedos mayores.

Dios salve a los 0's y 1's que se multiplican sin parar.

Xico

persona.vitrea dijo...

Si huey, respaldar, frecuentemente, es el mantra que seguir.