Copiando um grande número de pequenos arquivos de texto entre dois servidores pela WAN

1

Temos alguns milhares de arquivos pequenos (2 a 20 KB) para copiar entre servidores em uma pasta para fins de backup. Atualmente, o processo é automatizado como uma tarefa cron e faz cópia SCP de cada arquivo para o servidor remoto.

Esses arquivos são em sua maioria baseados em texto, então eu estava pensando SCP -C ... pode funcionar, mas não tenho certeza se há uma maneira de agrupar todos esses pequenos arquivos (obviamente tentar compactar cada arquivo de 5 KB é inútil).

Eu poderia zipar esses arquivos, mas eu precisaria descompactá-los do outro lado (preciso de algum processo sendo executado para monitorar quando a cópia do SCP foi concluída e disparar e descompactar).

A outra opção seria fazer um ssh e canalizar o zip e descompactar

Portanto, a questão é qual é a maneira mais eficiente de copiar muitos arquivos muitos pequenos para um servidor remoto através de uma WAN enquanto minimiza o número de alterações que precisam ser feitas no host remoto?

Felicidades!

    
por NightWolf 29.03.2012 / 03:43

1 resposta

7

A maneira mais eficiente é transmiti-los através da conexão. No Unix, o caminho mais fácil é:

tar vc source-dir/ | ssh -C target.example.com 'tar xC /target-dir'

Isso usará tar para agrupar e separar os arquivos em um único fluxo, permitindo a compactação mais eficiente e o uso da largura de banda TCP através do link que você pode obter do SSH - sem sobrecarga de espaço para arquivar os arquivos.

    
por 29.03.2012 / 03:46