Author Topic: Mantener un archivo histórico con copias de seguridad  (Read 2091 times)

planeri

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Mantener un archivo histórico con copias de seguridad
« on: Enero 24, 2014, 10:12:49 pm »
Buen día, quisiera consultar sobre una funcionalidad que deseo añadir a un programa en C++: Necesito mantener un archivo histórico con información interna del programa, generando una nueva entrada cada aproximadamente 10 min (no es un log del sistema, sino sencillamente un archivo de texto con datos de la configuración del programa y datos recibidos desde otro dispositivo por comunicación serial, incluyendo también la hora en que se recogieron). Mi mayor duda es sobre como llevar adecuadamente la gestión de backups de este historial, de forma tal de poder recuperar la información en caso de que haya un error de escritura.

Me gustaría saber de que manera me recomendarían encarar esto, y si es que hay alguna librería que me recomienden a tal fin. El siguiente sería poder tener una gestión de usuarios, donde cada uno tendría asociado uno de estos archivos de historial, el tema es que el programa corre en un linux embebido sobre una pantalla touchscreen de 10'' con  bastantes limitaciones de hardware, solo 128 Mb de RAM y 256 Mb de NAND trabajando como si fuese el disco duro... por más que la memoria interna de la pantalla se pueda aumentar con una tarjeta SD, la ram es muuuy baja... por lo que había pensado en probar algo con sqlite3.

Bueno, sería eso.. más que nada el tema de gestionar un buen sistema de archivos de seguridad del historial mencionado, ya que puede pasar que el equipo se apague en cualquier momento, sin que el sistema tenga un shutdown.. Cualquier sugerencia o comentario será bienvenido!

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5466
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Mantener un archivo histórico con copias de seguridad
« Reply #1 on: Enero 24, 2014, 11:44:40 pm »
Hola:

No sé si te vale, pero si vas a hacerlo cada 10 minutos aproximadamente, puedes abrir el fichero en modo "append", añadir lo que quieras y cerrarlo hasta dentro de 10 minutos. No es mucho gasto abrir, escribir y cerrar un fichero cada 10 minutos.
Si quieres, puedes crear un fichero nuevo cada día, o cada mes o lo que veas, poniendo un nombre adecuado para indentificar la fecha (por ejemplo, fichero-2014-01-24.dat, o lo que sea).
Es lo más sencillo y no ocupa nada. Si el fichero es de texto, lo que está escrito no se pierde aunque haya apagón. Una base de datos sqlite o similar, si se va apaga de golpe, puede dejarte el fichero de sqllite "corrupto"

Se bueno.

yoel

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
    • View Profile
Re: Mantener un archivo histórico con copias de seguridad
« Reply #2 on: Febrero 03, 2014, 07:53:04 am »
Hola un saludo a todos, soy nuevo en el foro. Para abreviar les cuento que llegué aquí porque hace como un año me harté de "Guindows", y empecé poco a poco el camino de la migración y adaptación a Linux. Confieso que cada vez quedo más encantado con la filosofía UNIX subyacente en toda la familia de SO's relacionados.

Aparte, soy un profundo admirador del lenguaje C (en realidad son las mismas cosas, porque debemos recordar que el mismo creador --Dennis Ritchie-- estuvo detrás de ambos y su genialidad es patente en ambas creaciones). UNIX es un SO para profesionales, mientras Windows es así como un juguetito para las computadoras, jeje.

Me uno al foro para corresponder y agradecer a chuidiang por su iniciativa de compartir el conocimiento con los demás. Estaré aquí ayudando a responder las cosas que pueda, y aprendiendo de las que responden las demás.

Planeri, en cuanto a tu problema podría ayudar pero pregunto: ¿Estás trabajando en un entorno UNIX o simplemente en un C++ desprovisto de Sistema Operativo?
« Last Edit: Febrero 03, 2014, 08:21:39 am by yoel »

 

ey