RRDTool es una potentísima herramienta cuya función principal es la de almacenar datos en una base de datos que maneja planificación Round-Robin, y cuya finalidad es el almacenamiento temporal de datos, para poder ser mostrados a través de gráficas.
Este software libre sólo permite la inserción de datos en orden cronológico. Esto es, que si has introducido un dato con una marca de tiempo “2008-January-01 00:30:00” e intentas insertar un dato que sea anterior a este… RRDTool no de permitirá hacer esta operación.
En realidad esto está pensado para que la actualización de datos sea “live” y siempre se actualice con datos ordenados cronológicamente.
Sin embargo, puede interesarte por cualquier circunstancia, deshacer un update o insertar un dato previo al último ya introducido.
He estado investigando y he encontrado 2 opciones para deshacer un update.
- Volver a construir la base de datos y reinsentar los datos sin introducir el valor que queremos deshacer. Esta es la opción más fácil de pensar, pero más costosa de hacer.
- Se puede convertir la base de datos a un formato XML mediante el comando
$ rrdtool dump base_de_datos.rrd base_de_datos.xml
con lo que obtenemos un fichero que podemos editar, y modificar a nuestro gusto. No es una tarea trivial, y mucho menos si tenemos varias RRA’s… Una vez editado, para poder convertir la base de datos al formato original, usaremos el siguiente comando:$ rrdtool restore base_de_datos.xml base_de_datos.rrd
con lo que conseguimos volver al estado que queramos de la BBDD.
Lo ideal sería no tener que recurrir a esto, pero quizás nos pueda sacar de algún que otro problemilla.