Entradas que puedo excluir con seguridad haciendo copias de seguridad


10

Estoy planeando una estrategia de respaldo basada en rsnapshot .

Quiero hacer una copia de seguridad completa del sistema, excluyendo archivos y directorios que serían inútiles para que la restauración vuelva a tener un sistema en funcionamiento. Ya excluí:

# System:
exclude /dev/*
exclude /proc/*
exclude /sys/*
exclude /tmp/*
exclude /run/*
exclude /mnt/*
exclude /media/*
exclude /lost+found

# Application:
exclude /*.pyc
exclude /*.pyo

Me pregunto qué otras entradas puedo agregar a la lista de exclusión sin comprometer el sistema restaurado. Hablando de un sistema Linux "genérico", ¿puede sugerirme nuevas extensiones globales, directorios temporales, cachés, etc. Puedo excluirlos de manera segura?

Respuestas:


11

En primer lugar, debe leer un poco sobre la sintaxis de inclusión / exclusión de rsync. Tengo la sensación de que lo que quieres hacer es hacerlo mejor usando **globos que *globos. ( **Se expande a cualquier número de entradas, mientras que *se expande solamente a una única entrada posible coincida con múltiples directorios entradas. Los detalles están en man rsyncbajo Incluir / Excluir Reglas del patrón .)

Dicho esto, si desea poder restaurar el sistema a un estado de funcionamiento conocido desde la copia de seguridad con un mínimo de problemas, debe tener cuidado al excluir archivos o directorios. Yo uso rsnapshot y he tomado el enfoque opuesto: incluir todo excepto algunos directorios cuidadosamente seleccionados.

Entonces mi rsnapshot.conf en realidad dice (con pestañas para hacer feliz el analizador del archivo de configuración de rsnapshot):

interval backup NNN # pick your poison
one_fs 0
exclude /backup/**
exclude /dev/**
exclude /proc/**
exclude /run/**
exclude /sys/**
exclude /tmp/**
backup / ./

y muy poco más. Sí, significa que podría copiar un poco más de lo estrictamente necesario, pero garantiza que se copie todo lo que no sea como ephermal. Debido a que rsnapshot usa el comportamiento de enlace duro para deduplicar de rsync, el único costo real para esto es durante la primera ejecución; después de eso, suponiendo que tenga una ubicación de destino de copia de seguridad de tamaño razonable (en comparación con el tamaño total del conjunto de datos), se necesita muy poco más en tiempo o espacio en disco. Excluyo el contenido de / copia de seguridad porque es donde monte el sistema de archivos de destino de la copia de seguridad; no excluirlo conduciría a la situación de copiar la copia de seguridad en sí misma. Sin embargo, para simplificar si alguna vez necesito restaurar en metal desnudo, ¡quiero mantener el punto de montaje!

En mi caso tampoco puedo usarlo razonablemente one_fs 1; Ejecuto ZFS con actualmente ~ 40 sistemas de archivos. Enumerarlos todos explícitamente sería una pesadilla de mantenimiento y haría que trabajar con sistemas de archivos ZFS sea mucho más complicado de lo necesario.

De todos modos, casi todo lo que desee excluir más allá de lo anterior dependerá de la distribución, por lo que es prácticamente imposible dar una respuesta genérica. Dicho esto, es probable que encuentre algunos candidatos en / var.


1
exclude /somepath/*está perfectamente bien en este caso; excluye todo en /somepath/, tal como se esperaba. No es necesario **porque no hay necesidad de profundizar cuando todo /somepath/está ya excluido.
Martin von Wittich

O simplemente use exclude /somepathe ignore estos directorios por completo, no solo sus contenidos.
Frank Kusters

44
@spaceknarf Eso rompe el montaje cuando restaura en metal desnudo, porque entonces el punto de montaje no existe.
un CVn

4

La mayor parte de lo que intenta hacer probablemente se puede lograr simplemente usando la one_fsconfiguración. Establecer los sistemas de archivos que desea incluir en las copias de seguridad, y luego usar esa configuración para ignorar el resto ( proc, sys, dev, etc.). Incluiría /lost+foundporque ese directorio siempre debe estar vacío a menos que haya hecho una copia de seguridad de un sistema de archivos dañado, en cuyo caso probablemente desee una copia de seguridad de todo lo que se fsckrecuperó. Además, .pycy en .pyorealidad no debería estar en el directorio raíz en primer lugar, por lo que también eliminaría esas líneas. /tmpy /var/tmpson las únicas rutas restantes en un sistema "genérico" que contienen datos que pueden excluirse de manera confiable de las copias de seguridad. Entonces quizás intente algo como:

one_fs 1

exclude /tmp/
exclude /var/tmp/

Realmente no quise decir /*.pycy todo el /*.pycsistema *.pycy *.pyolo arreglé. Sin embargo, no estoy seguro de si está one_fsconfigurado para 1excluir todo lo que quiero.
Paolo

1
¿Qué pasa si un paquete del sistema usa dichos archivos?
depquid

tienes razón, pero estoy casi seguro de que cada archivo .py se recompilará automáticamente tarde o temprano.
Paolo

3
Quizás, pero en mi sistema estos archivos son instalados por paquetes de proveedores. Lo que significa que si el sistema se restaura a partir de una copia de seguridad, faltarán los archivos que el administrador de paquetes cree que faltan. Usted preguntó acerca de una solución para un sistema Linux "genérico", y no creo que sea seguro asumir siempre que dichos archivos pueden perderse sin causar problemas.
depquid

Una cosa que vale la pena señalar que olvidé decir en la P. es que los montajes de enlace también deben excluirse para evitar la duplicación de datos.
Paolo

1

Creo que es mejor tener una lista de paquetes, el contenido de / etc, / home, y cualquier usuario / sistema de datos de / var y otros lugares. Por lo general, es más rápido reinstalar los paquetes y copiar la configuración de trabajo.


¿Por qué instalar paquetes, que incluye escribir todos los archivos del sistema, así como procesar la configuración y los metadatos, sería más rápido que simplemente copiar archivos?
depquid

Según mi experiencia, cuando se necesita una copia de seguridad real, también descubres que no has almacenado y documentado correctamente todos los bits sobre un sistema. En cambio, centrarse en la recreación en lugar de la restauración hace que sea más fácil, más rápido y con mayor frecuencia. Obviamente YMMV.
Sean Perry
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.