Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Copia de seguridad del directorio Gambas
#1

Buenas!.

Hoy estuve probando el script de Shordi para la creación de una copia de seguridad del directorio Gambas.
Tener en cuenta que el script esta hecho para el (con alguna modificación para mi), por lo que pueden aparecer directorios que no tenemos en
nuestro equipo. Claro que podemos usar las variables del sistema, por ejemplo para el nombre del usuario.

Intento de mejorar el script y de paso asegurarme de que se hace la copia al 100% correcta.
Así de paso nos ayudamos todos. Eso espero.

Este es el script:

Bash
  1.  #!/bin/sh
  2.     #Si no existe el archivo de seguridad del día, lo creamos
  3.     copia_diaria="/home/usuario/Datos/Gambas_seguridad/`date +%Y-%m-%d`.tar.gz"
  4.     if [ ! -f $copia_diaria ]
  5.     then
  6.         #Creamos el comprimido de copia de seguridad
  7.         tar -czvf $copia_diaria /home/usuario/Programacion/PracticasGambas >/home/usuario/Documentos/LogCopiasGambas/Gambas_copia_seguridad.log
  8.     fi
  9.     exit



Ejecutado dará un error que es fácil de solucionar:
 
Cita: 
tar: Eliminando la `/' inicial de los nombres
 
Cita:Tar advierte al empaquetar archivos de ruta absoluta. Y tar convertirá la ruta absoluta en una ruta relativa en el archivo del paquete que se crea.

Es como un warning. Para evitarlo tenemos que añadir algo más en las opciones a la hora de comprimir. Usamos P

Bash
  1.  tar -czvPf $copia_diaria /home/jack/Programacion/PracticasGambas >/home/jack/Documentos/LogCopiasGambas/Gambas_copia_seguridad.log



Una vez terminado de comprimir que en un disco digital es rápido. En mi caso me crea un archivo de 1,2GB
Ahora viene mi duda. ¿ Cómo estoy seguro de que se ha hecho todo correctamente ?.

La duda me viene de esto: En el gestor de archivadores de Linux Mint Mate, podemos ver las propiedades del archivo.
En mi caso:

[Imagen: Bzjh3FN.png]

¿ Se ha comprimido todos los archivos ?.

Si quiero averiguar cuanto ocupa el directorio de Gambas para compararlo con lo que dice el tamaño del contenido hago
esta instrucción en el directorio de Gambas.

Bash
  1. du -h



Me devuelve:

2.0G

¿ Y qué pasa con el número de archivos ?. ¿ Cómo sabríamos cuantos archivos contiene nuestro directorio Gambas ?.

Si queremos saber cuantos archivos existen solamente usamos:

Bash
  1. find -type f | wc -l



Me devuelve: 46209 archivos
El número de archivos que dice el gestor de compresión es: 46221
Es casi idéntico.

Ahora averigüemos cuantos directorios tiene nuestro directorio Gambas.

Bash
  1. find -type d | wc -l



Me devuelve: 18286

Si sumamos los directorios y archivos nos da: 64495

Ahora podemos ver también archivos y directorios:

Bash
  1. find . | wc -l



Pues me devuelve 64513. Que tampoco coincide con los 64495

Otra cosa es que tar por lo menos desde el gestor no permite comprobar la "integridad"
del archivo. El propio compresor no puede hacerlo con los .tar.gz , solo con los .tar

En vez de usar el compresor desde el gestor voy a usar la línea de comandos.

Muestra el contenido total de archivos en un archivo tar.gz

Bash
  1. tar -tvPf 2022-10-02.tar.gz | wc -l



Devuelve: 64507

¿ Es correcta la copia o falta algo ?.
Los números de línea o archivos no coinciden todo lo que debiese. Huh
No he dicho que tengo enlaces simbólicos en algún proyecto, más de uno.

Saludos

"El buen perfume en frasco pequeño se vende"
[-] Los siguientes 1 usuarios dice gracias a Shell por este post:
  • portaro
    ¡Gracias!
#2

Después de unas pruebas, parece que funciona sin problemas. El número de archivos era correcto.
Supongo que si tiene enlaces simbólicos existe una opción para añadir los enlaces simbólicos, que
probablemente lo que hace es añadir el archivo tal cual para no perderlo. 
Seria raro comprimir archivos que no se encuentran en la ruta que se le esta indicando al compresor.

Si el directorio original es:

/home/usuario/Programacion/PracticasGambas

Y quiero descomprimirlo en un directorio concreto he usado:

Bash
  1. tar -xvf 2022-10-02.tar.gz -C /home/usuario/Temporal/Descompactar



Pero eso crearía en el subdirectorio Descompactar...home/usuario/Programacion/PracticasGambas/

¿ No se podía haber creado directamente una copia de seguridad de PracticasGambas y sus subdirectorios ?. Supongo que si.
Lo digo por si tengo que descomprimir en el directorio original. El que tenía /home/usuario/Programacion/PracticasGambas/
/home tiene permisos de root y usuario parece una carpeta especial.

Si, estaba pensando que a la hora de descomprimir todo lo que se descomprimiese tendría permisos de root.
Que lo tenga que descomprimir el usuario con permisos de root.

Lógicamente si se ha guardado los permisos (de todo) no debería crearse ese problema. ( Tendría los permisos originales cuando se descomprimía ).

Buscaré algún tutorial o videotutorial sobre tar y las copias de seguridad.

Saludos

"El buen perfume en frasco pequeño se vende"
[-] Los siguientes 2 usuarios dicen gracias a Shell por este post:
  • portaro, Shordi
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)