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 mejor hacerlo usando **
globos que *
globos (**
se expande a cualquier número de entradas, mientras que *
se expande solo a una sola entrada que posiblemente coincida con varios directorios entradas. Los detalles están en man rsync
en Incluir/Excluir reglas de patrones .)
Dicho esto, si desea poder restaurar el sistema a un estado de funcionamiento conocido desde la copia de seguridad con un mínimo de molestias, debe tener cuidado al excluir archivos o directorios. Yo mismo uso rsnapshot y, de hecho, he tomado el enfoque opuesto:incluir todo excepto algunos directorios cuidadosamente seleccionados.
Así que 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 mas. Sí, significa que podría copiar un poco más de lo estrictamente necesario, pero garantiza que se copie todo lo que no pretenda ser efímero. Debido a que rsnapshot usa el comportamiento de desduplicación de enlace duro de rsync, el único costo real de 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 de su conjunto de datos), se necesita muy poco más en tiempo o espacio en disco. Excluyo el contenido de /backup porque ahí es donde monto 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í mismo. Sin embargo, para simplificar, si alguna vez necesito restaurar sobre metal desnudo, ¡quiero conservar el punto de montaje!
En mi caso, tampoco puedo usar 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 fuera mucho más complicado de lo necesario.
Prácticamente cualquier cosa que desee excluir por encima y más allá de lo anterior dependerá de la distribución, de todos modos, por lo que es prácticamente imposible dar una respuesta genérica. Dicho esto, es probable que encuentre algunos candidatos en /var.
La mayor parte de lo que está tratando de hacer probablemente se puede lograr simplemente usando el one_fs
ajuste. Configure los sistemas de archivos que desea incluir en sus copias de seguridad, luego use esa configuración para ignorar el resto (proc
, sys
, dev
, etc.). Incluiría /lost+found
porque ese directorio siempre debe estar vacío a menos que haya realizado una copia de seguridad de un sistema de archivos dañado, en cuyo caso probablemente desee una copia de seguridad de todo lo que fsck
recuperado. Además, .pyc
y .pyo
no debería estar realmente en el directorio raíz en primer lugar, así que también eliminaría esas líneas. /tmp
y /var/tmp
son las únicas rutas que quedan en un sistema "genérico" que contienen datos que se pueden excluir de manera confiable de las copias de seguridad. Así que tal vez intente algo como:
one_fs 1
exclude /tmp/
exclude /var/tmp/