Rsync: Espelhe apenas certos diretórios baseados na presença de dotfile

0

Eu tenho uma grande quantidade de arquivos em um servidor e tenho um espelho parcial desses arquivos no meu Mac (ou seja, apenas algumas pastas existem no espelho). Eu gostaria de ter uma sincronização do Mac para o servidor usando rsync e, obviamente, não escolha a opção /mirror , pois isso excluiria arquivos que eu não escolhi para duplicar no Mac.

No entanto, existem alguns diretórios onde eu gostaria desse comportamento de espelhamento - por exemplo, eu tenho repositórios git que precisam ser espelhados em vez de apenas ter arquivos atualizados.

Existe alguma maneira que eu possa configurar um processo de sincronização que me permita aplicar o comportamento de espelhamento somente a determinados diretórios?

Idealmente, gostaria de poder criar um dotfile, por ex. .sync-mirror , coloque isso em um diretório e, em seguida, tenha este e todos os diretórios abaixo dele espelhados em vez de simplesmente ter arquivos novos / atualizados copiados.

    
por Tim MB 18.09.2014 / 13:45

1 resposta

2

Em vez de criar um arquivo para sinalização, você pode adicionar os diretórios que deseja espelhar em vez de arquivá-los em um arquivo de texto e, em seguida, executar 2 rsync-runs. A execução de espelhamento com este arquivo como include-list, o archive-run com este arquivo como exclude-list.

rsync [your options for mirroring] --include-from=/path/to/dirlist [source] [target]
rsync [your options for archiving] --exclude-from=/path/to/dirlist [source] [target]
    
por 18.09.2014 / 14:16