En un rsync estoy tratando de excluir subdirectorios que coinciden con un patrón. Pero no puedo hacer que funcione. He seguido varios ejemplos encontrados aquí y en Google. Pero no obtengo los resultados correctos. Aquí está la opción bit de mi comando:
-avh --exclude 'branch*' --stats --delete --link-dest=$LNK
La estructura de mi directorio fuente es
/root
/branch1
/branch2
/branch3
/other
/stillAnother
/etc
Esto es parte de un script de respaldo. $ LNK es un enlace al destino rsync del día anterior.
No quiero / root / branch1, / root / branch2, / root / branch3. o sus contenidos a sincronizar. Pero son.
Aquí están los bits de exclusión que ya he probado:
--exclude=branch*
--exclude='branch*'
--exclude '/branch*'
--exclude /branch*
Gracias por cualquier ayuda / consejo.
EDITAR - para abordar el indicador "posible duplicado"
Esta pregunta se refiere a una lista conocida de directorios. Necesito excluir cualquier directorio que siga un patrón, incluso si esos directorios aún no existen. es decir, a partir de mi ejemplo, /branch*
se pueden agregar otros directorios nombrados . Necesito hacer mi script a prueba de futuro y evitar editar el script cuando se agrega un directorio que coincide con el patrón, ya que esos directorios pueden ser temporales.
*branch*
o/root/branch*
no la forma cortabranch*
- corta no se encuentra y, por lo tanto, no se excluye.--exclude '*branch*
)Respuestas:
Excluye la regla es correcta. Sin embargo, rsync no eliminará los archivos excluidos en el destino sin el parámetro adicional
--delete-excluded
:Ejemplo:
fuente
-avh --exclude 'branch*' --stats --delete --delete-excluded --link-dest=$LNK
la copia de seguridad de Anoche todavía hice una copia de seguridad de los directorios / branch *.rsync versión 3.1.3 (posiblemente anterior, no se ha marcado) excluye correctamente los subdirectorios que utilizan esta sintaxis (obviamente, reemplazando
exclude_dirname
con el patrón que desea excluir):Esto también funciona con comodines. La pregunta original usa
'branch*'
, así que esto funciona:Espero que esto ayude.
fuente