Como retomar uma transferência de arquivos usando netcat ou socat ou curl?

Como retomar uma transferência de arquivos usando netcat ou socat ou curl?

Tenho que transferir pela Internet um banco de dados de 400 Gb composto por um único arquivo de um servidor onde tenho controle total para outro computador na fronteira oposta do oceano (mas que usa uma conexão lenta). A transferência deve levar uma semana inteira e para reduzir toda a sobrecarga do protocolo (mesmo usando FTP teria uma sobrecarga de 10 minutos), estou usando uma conexão tcp bruta.

Já transferi 10% do arquivo, mas soube que haverá uma interrupção programada em algumas horas.

Como posso perguntar ao netcat ou socat ouondulaçãopara servir o FILE:database.rawdeslocamento foi interrompido? ou

Responder1

Se o seu comando, conforme indicado nos comentários, for:

socat -u FILE:somedatabase.raw TCP-LISTEN:4443,keepalive,tos=36

você pode, do lado do envio, fazer um seeke começar a servir a partir daí:

socat -u gopen:somedatabase.raw,seek=1024 TCP-LISTEN:4443,keepalive,tos=36

do lado receptor você também precisa buscar:

socat tcp:example.com:4443 gopen:somedatabase.raw,seek=1024

Verifique a página de manual socat, há outras opções nas quais você pode estar interessado.

informação relacionada