
Hay muchas publicaciones sobre rsync
excluir como particular, lo sé, y he pasado algún tiempo buscando una solución, pero pensé que sería más conveniente ceder al poder mental de la comunidad, que estoy seguro puede orientarme en el camino correcto. Seguimiento en segundos.
Estoy copiando los directorios de inicio de muchos usuarios diferentes, pero por razones que no son relevantes en este momento, básicamente necesito eliminar muchas configuraciones diferentes y, como cada usuario difiere mucho, quiero escribir una rsync
línea que pueda ejecutarse en cualquier carpeta de inicio para un usuario que excluye todas las carpetas ocultas (excepto.sshy.mozillasi corresponde) pero aún captura archivos ocultos en la carpeta de inicio, como.bash_history,.perfiletc.
Incluyendo el.sshy otras carpetas especificadas es importante en este momento ya que otras carpetas comunes podrían/deberían agregarse a esa lista en una fecha posterior. Pero por ahora, básicamente necesito excluir todas las carpetas ocultas a menos que se especifique lo contrario.
Esto es lo que pensé que funcionaría, pero lamentablemente no funciona:
$ rsync -vahP --delete-before --include="*" --include={".ssh/",".mozilla/"} exclude=".*/" ./ /mount/anotherdisk/username/
¿Qué estoy haciendo mal?
Respuesta1
Me funciona si elimino la opción --include="*"
y agrego los guiones olvidados a la --exclude
opción como:
rsync -vahP --delete-before --include={'.ssh/','.mozilla/'} --exclude='.*/' /home/username/ /mount/anotherdisk/username