Como manter um diretório clonado remoto com o rsync?

1

Eu tenho acesso SSH (usando um par de chaves SSH) a uma máquina remota. Eu quero manter um diretório na máquina remota exatamente igual a um determinado diretório local (one-way sync). A verificação da igualdade de arquivos deve ser feita com base em um hash do conteúdo do arquivo binário (não em tamanho / data).

  1. Qual é o comando rsync correto para fazer isso (não serviço rsync)?
  2. Como as permissões de arquivo são tratadas?
  3. Como as datas de modificação de arquivo são tratadas?
  4. Como o rsync reage a falhas e qual é o código de saída?
por Gustave 15.07.2015 / 10:42

1 resposta

1

O Rsync verifica o conteúdo do arquivo, não a data e / ou o tamanho do arquivo. Se o conteúdo for diferente, mas com o mesmo caminho e nome, o arquivo será sobrescrito.

A sintaxe do rsync é rsync options source destination , portanto, se você quiser manter um diretório remoto sincronizado com um local, isso deve ser feito:

rsync -azh local_folder user@remote_server:/path/to/destination/

Se você quiser usar o SSH como um protocolo de transferência, isso funciona para mim:

rsync -azhe ssh local_folder user@remote_server:/path/to/destination

How are file permissions handled? How are file modification dates handled?

O parâmetro a preserva links simbólicos, permissões de arquivos, registros de data e hora ... se você não quiser transferir essas informações, apenas as exclua do comando, que pertencerá ao usuário com quem você efetuou login na sessão SSH.

How does rsync react to failures and what is the exit code?

A maioria dos comandos / programas retorna 0 quando há sucesso e qualquer outro número em erro. Aqui está uma lista de códigos de saída do rsync para referência

    
por 15.07.2015 / 10:53

Tags