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:
¿ 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.
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:
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.
No he dicho que tengo enlaces simbólicos en algún proyecto, más de uno.
Saludos