.png)
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?