Eu gostaria de ler a entrada em um pipe nomeado em um servidor remoto da minha máquina local. Eu tenho um script no servidor remoto que é acionado como um trabalho CRON. Então, de vez em quando, o script escreve algo no pipe nomeado. Devido a restrições de firewall, só posso conectar-me ao servidor da minha máquina local e não o contrário.
Até agora eu tenho este trabalho usando socat
para SSH para o servidor remoto e ler a entrada do pipe nomeado remoto em um pipe nomeado na máquina local.
Quando escrevo uma vez para o pipe nomeado na máquina remota, vejo a entrada no canal nomeado da máquina local. Quaisquer novos escritos para o pipe nomeado nunca são vistos na minha máquina local. Só funciona uma vez.
O comando que eu executo na minha máquina local é assim:
$ socat PIPE:/tmp/local/local.pipe SYSTEM:"ssh [email protected] \
socat - /tmp/remote/server/remote.pipe"
Alguma sugestão de como fazer a transferência de entrada para o pipe nomeado remoto chegará à máquina local para sempre?