Mostrando progresso no whiptail enquanto usava sshpass e SCP

4

Estou escrevendo um script que automatiza a construção, a cópia e a execução de um aplicativo golang em um servidor remoto. Estou usando whiptail para permitir que o usuário escolha algumas opções, insira alguns detalhes (por exemplo, nome do servidor SSH, nome de usuário e senha).

Quando eu uso sshpass -p mypassword scp myfile user@remoteserver:/location/to/myfile eu não obtenho nenhum progresso, o terminal fica lá até ser copiado, e então continua. Obviamente, não posso passar isso para a opção de calibre do whiptail. Quando eu o executo sem sshpass, recebo informações de progresso na tela, mas prefiro usar sshpass (para não mencionar quando o scp pede uma senha, ela quebra a caixa de diálogo do whiptail). Correndo scp com -v dá toneladas de informações de depuração, mas nada que eu possa limpar e alimentar em whiptail

Então, como eu poderia mostrar uma barra de progresso para o usuário enquanto o arquivo é copiado através do SSH?

    
por Grayda 15.03.2015 / 08:06

1 resposta

1

Eu não estou familiarizado com o sshpass. scp no entanto, tem uma barra de progresso usando a opção -3.

 $ls -l
-rw-r--r-- 1 root     root     50043369 Jul 17 21:59 gv.tgz

j0h@M0h:~$ scp -3 -P 7935 gv.tgz  [email protected]:/home/j0h/
[email protected]'s password: 
gv.tgz                       100%   48MB  11.9MB/s   00:04 

Durante o upload, a última linha estava sendo alterada, indicando um progresso de 0% a 100%. isso é algo que você pode usar?

    
por j0h 05.08.2015 / 14:10

Tags