rsync excluir arquivos ocultos não funciona!


34

Eu procurei por toda a internet e todo mundo sugere a mesma coisa - que a adição --exclude=´.*´deve excluir arquivos e pastas ocultos de um rsync. Não faz. Eu também tentei adicionar uma barra e / ou aspas duplas, por exemplo. --exclude=¨\.*¨Nada parece funcionar. AGH !! Realmente apreciaria alguma ajuda.

Respostas:


63

As duas versões que você está mostrando estão erradas. Você precisa usar aspas duplas.

--exclude=".*"

funciona e exclui arquivos e diretórios ocultos.

Se você deseja excluir apenas diretórios ocultos:

--exclude ".*/"

Eu o uso diariamente para backups.


Sim, isso funcionou, mas apenas quando eu recortei e colei seu trecho. Por alguma razão, meu teclado não está configurado para digitar uma aspas dupla padrão. Em vez disso, faz isso ¨ #
282845

1
Você está usando um teclado com teclas mortas ativas. Você precisa pressionar "e, em seguida, segui-lo com a barra de espaço.
Rinzwind

Oh! Isso funcionou também! Você não saberia como desativar isso, faria?
user289455

sim ... mude o teclado para "english (us)";)
Rinzwind

1
@YaroslavNikitenko sorry. Há uma confusão lá. Deve ler "se você SOMENTE deseja excluir diretórios ocultos".
Rinzwind

2

Eu uso esta expressão: --exclude=".[!.]*"

Faz o trabalho bem para mim, excluindo arquivos e diretórios ocultos.


0

--exclude="/.*"você \está apontando para o lado errado.

rsync -a --exclude="/.*" ./ /path/to/sync

2
. Não há necessidade de o / :) ele não está usando "'s Se ele precisava de um / é deve ser no fim de excluir diretórios.
Rinzwind

0

Abra um arquivo de texto exclude_me.txte digite o seguinte:.[a-z]*

Em seguida, execute o seguinte:

rsync -avh --exclude-from='exclude_me.txt' /path/of/Source /path/of/Destination
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.