Rsync copia arquivos que eu não usei uma lista

1

Eu tenho dois computadores separados com a mesma pasta MEDIA, que é bem grande. Essas pastas têm a mesma estrutura, mas em um computador há mais arquivos.

O que eu gostaria de fazer é algo assim:

1) Digitalize a pasta no computador A, crie uma lista de arquivos que eu já tenho.

2) Copie a lista para um computador B e execute "copiar arquivos que não estão na lista" para o meu drive externo.

É possível fazer isso com o rsync?

Muito obrigado, isso seria realmente um hack poderoso.

    
por Sebastian 23.08.2015 / 11:40

1 resposta

1

Sincronize um diretório de um computador para outro usando uma unidade externa, sem copiar o diretório inteiro:

  • No destino (computador A, no seu caso):

    Gere a lista de arquivos que você já possui e salve-a no disco externo:

    cd /PATH/TO/MEDIA
    find -type f | cut -c2- > /PATH/TO/EXTERNAL/DRIVE/my_files
    

    Você precisa cd para a pasta que deseja sincronizar, portanto, find gerará uma lista de arquivos usando caminhos relativos.

  • Na origem (computador B, no seu caso):

    Copie apenas os arquivos que você não tem para o disco externo:

    rsync -a --exclude-from=/PATH/TO/my_files /PATH/TO/MEDIA /PATH/TO/EXTERNAL/DRIVE
    

    Certifique-se de que não inclua uma barra à direita ( / ) em /PATH/TO/MEDIA .

  • Voltar ao destino (computador A, no seu caso):

    Copie os arquivos da unidade externa para seu diretório:

    rsync -a /PATH/TO/EXTERNAL/DRIVE/MEDIA/ /PATH/TO/MEDIA
    

    Agora, certifique-se de que faça inclua uma barra no final em /PATH/TO/EXTERNAL/DRIVE/MEDIA/ .

Mais informações: página de manual do Rsync .

    
por Eric Carvalho 26.08.2015 / 18:17