Como faço para sincronizar arquivos entre duas unidades?

5

Qual comando pode verificar se um diretório contém os mesmos arquivos de outro diretório, se todos os arquivos estão atualizados e copiar quaisquer arquivos atualizados ou novos arquivos para o primeiro diretório. Ele não deve se importar com as permissões de arquivo que copiam arquivos restritos sem efetuar a verificação.

    
por user 02.01.2016 / 07:32

2 respostas

4

Você pode usar rsync para isso.

NAME
       rsync - a fast, versatile, remote (and local) file-copying tool

Exemplo:

rsync -av "/path/to/source" "/path/to/destination"

Nota: Onde "/path/to/source" é o caminho do diretório de origem e "/path/to/destination" é o caminho para o diretório que contém o diretório de destino. Por exemplo, você deseja fazer a sincronização entre /media/users/disk1/dir (como origem) e /media/disk2/dir (como destino), então você deve executar rsync -av "/media/users/disk1/dir" "/media/disk2/"

  • Se você quiser excluir arquivos estranhos do destino, use a opção --delete da seguinte forma:

    rsync -av --delete "/path/to/source" "/path/to/destination"
    
  • Se você deseja mostrar o progresso durante a transferência, use --progress da seguinte forma:

    rsync -avh --progress --delete "/path/to/source" "/path/to/destination"
    

    Há também --info=progress2 disponível para estatísticas de saídas com base na transferência completa.

Observação: para obter mais informações sobre rsync visit ( man rsync ) manpage e lista de opções . Você também pode usar um front-end GUI .

    
por 02.01.2016 / 07:38
3

Você também pode usar o Lsyncd . Ele monitorará continuamente a árvore de diretórios mencionada e, quando as alterações ocorrerem, aplicará automaticamente alterar.

Na verdade, é semelhante ao Rsync. Você pode usá-lo para sincronização remota com SSH + Rsync. O hiperlink é sua página de ajuda e pode fornecer mais informações.

Responda sua pergunta:

lsyncd -rsync /path/directory1 /path/directory2  

Espero que ajude.

    
por 02.01.2016 / 11:17