rsync: cómo excluir carpetas/archivos en el destino para que no se eliminen

rsync: cómo excluir carpetas/archivos en el destino para que no se eliminen

He leído varios hilos sobre este tema, pero los comandos indicados allí todavía no me funcionaron.

Estoy intentando sincronizar archivos desdecarpeta1(que contiene una subcarpetaa) acarpeta2(que contieneayb) sin tener la carpetabeliminado. Sin embargo, el siguiente comando lo elimina:

rsync -av --exclude folder2/b/ --delete folder1/ folder2/

Otras variaciones como rutas absolutas o barras, sin barras tampoco funcionaron. Y aunque debería ser básicamente el mismo comando (excepto por los nombres de las carpetas) que en estehilo.

¿Alguien tiene una idea?

Respuesta1

En la opción de exclusión, basta con proporcionar b.

¿Podrías probar el siguiente comando que funciona correctamente para mí?

rsync -av --excluir b --eliminar carpeta1/carpeta2/

editar: Para estar seguro, la opción -n es muy útil. Hace un ensayo de lo que se agregaría y eliminaría.

Respuesta2

No intentaría evitar una eliminación de esa manera. En su lugar, sincronizaría las carpetas secundarias. Entonces, para copiar a y evitar tocar b, haría algo como:

rsync -av --delete folder1/a folder2/a

Repita para todas las carpetas necesarias.

información relacionada