Utilice Netcat desde el script (sin iniciar sesión en el destino)

Utilice Netcat desde el script (sin iniciar sesión en el destino)

Tengo un método de respaldo configurado para todos mis dispositivos Unix en el hogar para tar|pv|pigz|nc en un servidor local. Como he visto en numerosos ejemplos, en todos ellos primero tienes que tener la máquina de destino escuchando un puerto (ya sea físicamente en la máquina o a través de ssh, por ejemplo).

nc -w 60 -l 19001 > /dir/to/backup.tgz

Luego comience a enviar la transmisión desde la máquina actual.

tar -cpf - /dir/to/backup | pv | pigz | nc -w 10 dest.i.p.addr 19001

Estoy intentando escribir esto para evitar tener que tener múltiples terminales abiertos en la máquina host durante este proceso y hacerlo casi con un solo clic. Normalmente, enviar un comando a través de ssh para ejecutar sería

ssh -f [email protected] "nc -w 60 -l 19001 > /dir/to/backup.tgz"

Pero mientras el puerto está abierto y los datos se transfieren y aceptan, el archivo backup.tgz no se completa: siempre se lee vacío. Lo que me lleva a creer que enviar el comando a través de ssh en una línea no mantiene abierto el puerto de escucha.

¿Hay otra ruta que no veo o siempre tendré que iniciar sesión en la máquina de destino para crear una sesión de escucha?

información relacionada