Use wget em um cluster com ssh-tunnel

Use wget em um cluster com ssh-tunnel

Normalmente posso copiar arquivos com segurança de uma máquina para outra usando

> scp [email protected] ssh [email protected]:/home/user/my_files/* .

o que é muito lento para grandes conjuntos de dados.

Disseram-me que as máquinas que estou usando possuem um link muito rápido que pode ser acessado com o wget. Como executo a mesma transferência de arquivos usando o wget?

Responder1

Se você tiver um link de rede rápido, seguro e estável entre essas duas máquinas, poderá usar uma combinação de netcate tar, como esta.

Na máquina de destino, execute:

nc -l 10000 | tar -C /destination/directory -xzf -

Na máquina de origem, execute:

tar -cz /source/directory | nc dst-machine-ip-address 10000

Esteja ciente de que nenhuma criptografia será usada, então o tráfego pode ser detectado e, se por algum motivo a conexão cair, você terá que reiniciá-la.

Pessoalmente, eu acompanharia rsync.

Responder2

O desempenho descppode ser causada por dois fatores:

  • O custo da criptografia, que pode ser muito alto para processadores lentos,
  • O número de viagens de ida e volta necessárias para solicitar um único arquivo.

Para um grande número de arquivos pequenos, é o segundo. Minha primeira ideia foi aconselhar o usosftp, pois usa um programa diferente no host remoto. Mas depois de um teste, isso proporciona um desempenho semelhante.

A solução que funciona é usar um programa instalado no cliente e no servidor e que envia apenas um fluxo de dados de volta (em vez de milhares desshcanais):

informação relacionada