Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
Bueno, pues he hecho una pequeña entrada en mi blog, de como guardo los datos de un programa, con el comando tar, explicandolo sobre un caso real (los archivos de datos del pintascreen).

http://jsbsan.blogspot.com.es/2014/...omprimidos.html

Me refiero a que  no es solo guardar  un archivo de texto (que seria el caso más simple, y que todos conocemos), sino varios archivos en un único archivo (esto facilita pasarlos a otros ordenadores/usuario).

Por ejemplo en el pintascreeen se guardan 3 archivos:
2 imagenes: una la de fondo y otra la miniatura
1 archivo de texto: es el que contiene los datos de los objetos que se dibujan.

Creo que es una cosa útil a compartir. Seguramente tendreis vuestros propios métodos para hacer esto... este es que yo uso en los programas que hago.

Saludos

Nota:
Otra forma de hacerlo seria usar un archivo de base de datos SQLite, y alli organizarnos con varias tablas, los distintos tipos de registros a guardar, pero creo que es más  enrevesado..
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
El viejo y querido tar... es lo que usábamos en el Unix System V allá por el año 93 para hacer las copias de seguridad. Sin ver la entrada, añadiendo z en algún parámetro consigues un tar.gz, que, además, ya va comprimido.
Pero un aviso: tar almacena el path de los archivos. A la hora de restaurarlo en una máquina o carpeta distinta, puedes tener problemas...

Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
Shordi:

Citar:
, añadiendo z en algún parámetro consigues un tar.gz, que, además, ya va comprimido

Si, también lo he añadido, para que salga comprimido.

Citar:
tar almacena el path de los archivos. A la hora de restaurarlo en una máquina o carpeta distinta, puedes tener problemas...

Si, tambien lo he tenido en cuenta.

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
Efectivamente, lo has tenido en cuenta. A ver si aprendo a no contestar sin haber leído primero el post      (sorry verimuch)

Hace unos años me hice un programa para salvar copias de seguridad de las bases de datos mysql y no recordaba muy bien cómo había solucionado el tema de los path -que sí recordaba que me daba problemas-. Esta tarde lo he buscado (gambas2) y la solución que adopté se parece mucho a la que tú has hecho lo que yo hice, en seudocódigo fue:

crear una carpeta en /tmp con el nombre de la copia de seguridad (copia_base_día_mes_año_hora_minuto_segundo)
copiar en ella todos los archivos que quería salvar
comprimirla con tar -zcPf
copiar el archivo tar.gz a la carpeta de copias de seguridad

Luego para restaurar proceso inverso:
copiar archivo tar.gz a /tmp
descomprimir con tar xPf
copiar los ficheros a la carpeta de destino

Todo, por supuesto transparente al usuario, que sólo veía cómo su carpeta de copias crecía con un archivo nuevo cada vez que hacía una.
No pongo el código, que es tan enrevesado, inútil (luego descubrí manera mucho mejores y simples de hacer las copias) y lleno de bugs que nunca llegó a estar en producción, pero la parte del tar.gz era más o menos así.

Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
Shordi:

Citar:
Efectivamente, lo has tenido en cuenta. ..... (sorry verimuch)

No pasa ná... yo también le di muchas vueltas, de hecho para otros programas que hice hace tiempo (el generador de carnet, el de diplomas y el de orlas, lo resolvi de otra manera (bastante peor) ya que no di con la solución hasta hace poco viendo un código de nuestro compañero del foro Guadafan.


Saludos

Julio
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
Además no tienes por qué usar la extensión tar o tar.gz. Como al compresor realmente no le importa la extensión, sino las cabeceras del fichero binario, puedes hacer lo mismo que hace openoffice con el formato odt y familia:

Tu puedes poner una extensión inventada por ti, por ejemplo .psn, ó .pts (por lo de pintascreen...   ) y asociar ese tipo de archivo a tu programa registrando un nuevo tipo 'mime' en el sistema. El programa lo comprueba antes de cargarlo, por lo que el paso obligatorio es descomprimirlo primero y comprobarlo después y si es válido, abrirlo finalmente.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
Vale, otro que escribe antes de leer... mea culpa, parece que lo de la extensión lo tienes solucionado.

Lo único que veo es que usas el shell para comprimir. ¿Has probado las clases nativas de gambas para comprimir?

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Los Archivos De Datos De Un Programa, Usando Tar, En Un Solo Archivo. 
 
Jguardon:

¿Has probado las clases nativas de gambas para comprimir?

No conozco esas clases...  

Citar:
registrando un nuevo tipo 'mime' en el sistema

Eso no se hacerlo. En minino-picaros, Guadafan, si lo ha hecho para otras de mis aplicaciones. Lo unico que me pide es que la aplicación acepte parametros en la linea de comando. Asi se le pasa el nombre del archivo al programa, y yo lo que hago es leerlo y si lo hay, pues lo abro, y sino, sigue con el normal funcionamiento.

Saludos

Jsbsan
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron