Exclua pastas ocultas usando rsync, mas inclua pastas ocultas específicas e inclua todos os arquivos ocultos

Exclua pastas ocultas usando rsync, mas inclua pastas ocultas específicas e inclua todos os arquivos ocultos

Há muitas postagens sobre rsyncexcluir ser específico, eu sei, e passei algum tempo procurando uma solução, mas achei mais conveniente recorrer ao poder da mente da comunidade, o que tenho certeza que pode me indicar o caminho certo rastrear em segundos.

Estou copiando diretórios pessoais de muitos usuários diferentes, mas por razões não relevantes no momento, preciso basicamente eliminar muitas configurações diferentes e, como cada usuário é muito diferente, quero escrever uma rsynclinha que possa ser executada em qualquer pasta inicial para um usuário que exclui todas as pastas ocultas (exceto.sshe.mozillase aplicável), mas ainda captura arquivos ocultos na pasta pessoal, como.bash_history,.perfiletc.

Incluindo o.sshe outras pastas especificadas são importantes no momento, pois outras pastas comuns podem/devem ser adicionadas a essa lista posteriormente. Mas, por enquanto, preciso basicamente excluir todas as pastas ocultas, a menos que seja especificado de outra forma.

Isto é o que eu pensei que funcionaria, mas infelizmente não funciona:

$ rsync -vahP --delete-before --include="*" --include={".ssh/",".mozilla/"} exclude=".*/" ./ /mount/anotherdisk/username/

O que estou fazendo de errado?

Responder1

Funciona para mim se eu remover a opção --include="*"e adicionar os traços esquecidos à --excludeopção como:

rsync -vahP --delete-before --include={'.ssh/','.mozilla/'} --exclude='.*/' /home/username/ /mount/anotherdisk/username

informação relacionada