Sincronização de arquivos no Linux pela rede: scp ou rsync?

2

Eu tenho dois computadores Linux (Debian) "A" e "B" conectados uns aos outros sem fio através do roteador.

Na máquina "A", executo um script que gera a cada 5 segundos um novo arquivo de 1 MB na pasta específica (por exemplo, ~ / files /). Os arquivos não mudam após a geração.

Após o arquivo ser gerado, ele deve estar disponível na máquina "B" junto com outros arquivos, que foram gerados anteriormente.

Qual é a maneira mais eficiente (de acordo com o uso da CPU / rede e tempo de transferência), para fazer isso?

Sugestões:

  • execute scp no script para copiar o arquivo depois que ele for gerado, para que todos os arquivos sejam copiados individualmente.

  • execute rsync para sincronizar o conteúdo da pasta entre as máquinas.

por Maximilian Wiens 03.07.2016 / 23:53

3 respostas

2

Use rsync . O SCP tem uma sobrecarga maior.

Pense também em compartilhar conexões usando ControlMaster . Se você transferisse esse único arquivo a cada 5 segundos, a maior parte do tempo passaria a iniciar a conexão, em vez de transferir arquivos.

    
por 04.07.2016 / 09:23
2

Use o Rsync,

O Rsyc só copia arquivos que foram alterados desde a última cópia e economiza muita largura de banda e CPU.

O SCP é muito complicado para copiar apenas os arquivos alterados e, por padrão, copia a pasta completa a cada vez.

    
por 04.07.2016 / 11:28
1

Você também pode criar uma pasta compartilhada entre essas duas máquinas com, digamos, NFS ou outro protocolo de compartilhamento.

    
por 04.07.2016 / 16:27