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 rsync
bajo 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.
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.