A abordagem básica com uma das suas duas tentativas curl
parece ok. No entanto, seu dump é um dado binário, então --data
está errado (os dados serão desconfigurados). Dependendo do que o seu servidor web espera, você pode ter mais sorte com um dos
-
curl -v --data-urlencode @- http://1.2.3.4/
, se o formato esperado for dados codificados por URL. -
curl -v --data-binary -H 'Content-Type: octet/stream' @- http://1.2.3.4/
, se o formato esperado for dados binários brutos. -
curl -v -F "mydump=@-" http://1.2.3.4/
, se o formato esperado for um formulário.
Tudo isso depende do que o servidor HTTP espera. Verifique a documentação de qualquer CGI que você esteja usando (ou poste aqui se precisar de ajuda).
Se o servidor que atende no 1.2.3.4 esperar dados brutos em vez de um pedido HTTP POST, então curl
é a ferramenta errada (e http
está errado também, é claro). O Netcat é a ferramenta mais popular para enviar dados para um soquete TCP: nc 1.2.3.4 5678
.
É improvável que o Rsync funcione. O principal objetivo do rsync é copiar apenas as partes de um arquivo que não são iguais em ambos os lados, o que requer muita procura dentro dos arquivos de origem e de destino. Além disso, o rsync foi projetado para trabalhar em uma hierarquia de arquivos, não em um único arquivo. Seria tecnicamente possível escrever um cliente rsync que sempre copia o arquivo inteiro e, portanto, não precisa procurar os dados de origem, mas essa é uma necessidade tão incomum que duvido que exista.