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.

user289455
fonte

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.

Rinzwind
fonte
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.

jonathanbell
fonte
0

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

rsync -a --exclude="/.*" ./ /path/to/sync
Pantera
fonte
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
Abel Tom
fonte