Shell   02-10-2022, 13:47
#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:

Código:
 #!/bin/sh
    #Si no existe el archivo de seguridad del día, lo creamos
    copia_diaria="/home/usuario/Datos/Gambas_seguridad/`date +%Y-%m-%d`.tar.gz"
    if [ ! -f $copia_diaria ]
    then
        #Creamos el comprimido de copia de seguridad
        tar -czvf $copia_diaria /home/usuario/Programacion/PracticasGambas >/home/usuario/Documentos/LogCopiasGambas/Gambas_copia_seguridad.log
    fi
    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

Código:
 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.

Código:
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:

Código:
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.

Código:
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:

Código:
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

Código:
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 conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shell   02-10-2022, 22:33
#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:

Código:
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 conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.