.png)
Eu tenho um método de backup configurado para todos os meus dispositivos Unix em casa para tar|pv|pigz|nc para um servidor local. Como vi em vários exemplos, todos eles fazem com que você primeiro faça com que a máquina de destino esteja escutando uma porta (seja fisicamente na máquina ou via ssh, por exemplo)
nc -w 60 -l 19001 > /dir/to/backup.tgz
Em seguida, comece a enviar o stream da máquina atual
tar -cpf - /dir/to/backup | pv | pigz | nc -w 10 dest.i.p.addr 19001
Estou tentando criar um script para evitar a necessidade de vários terminais abertos na máquina host durante esse processo e fazer com que seja quase um clique. Normalmente, enviar um comando por ssh para execução seria
ssh -f [email protected] "nc -w 60 -l 19001 > /dir/to/backup.tgz"
Mas enquanto a porta está aberta e os dados estão sendo transferidos e aceitos, o arquivo backup.tgz não é preenchido: sempre é lido como vazio. O que me leva a acreditar que enviar o comando via ssh em uma linha não mantém a porta de escuta aberta.
Existe outra rota que não estou vendo ou sempre precisarei fazer login na máquina de destino para criar uma sessão de escuta?