Atualização 1

Atualização 1

eu liessepergunta e sua resposta, mas eles não respondem à minha pergunta.

O script de shell é este:

let total=$(lftp -f lftp-script-count.txt | wc -l)-2

lftp -f lftp-script.txt |

while read word word2 filename
do
    if [ "$word" = Transferring ]
    then let count=count+1
         let percent=count*100/total
         echo -e "XXX\n$percent\nDownloading $filename\nXXX"
    fi
done |

whiptail --title lftp --gauge progress 10 60 0

Olftp-script-count.txtO script lftp funciona bem:

debug 10
set ssl:verify-certificate no
open ...
user ... ...
cd ...
ls -R .

Olftp-script-count.txtO script lftp funciona devagar (mas funciona com certeza, embora eu adorasse que funcionasse mais rápido) e o progresso não chega ao limite:

set ssl:verify-certificate no
open ...
user ...
cd ...
mirror -P=10 . lftp-works --exclude-glob=node_modules
quit

O resultado é que a barra de progresso é mostrada, mas permanece em 0% até o final, embora tenha sido necessário baixar todos os 251 MB. Se eu redimensionar a janela do terminal, a tela do chicote não será repintada.

Quando chega ao final do download, a janela da barra de progresso desaparece bem.

Parece-me que a proporção mostrada pelo simples lftp -f lftp-script.txtnão é global. A saída deste comando contém, além da porcentagem, coisas como isto:

  • Aguardando resposta...
  • Recebendo dados/TLS
  • Fazendo conexão de dados...
  • Recebendo dados...

Exemplo:

captura de tela

Minha pergunta é:Como posso fazer com que a barra de progresso mostre bem o progresso?

Existe outro cliente CLI FTP que mostra o progresso e é bom para meus requisitos, conforme visto nos scripts lftp mostrados acima?

Obrigado.

Atualização 1

Existem 2 questões restantes:

  1. Seria ótimo se eu pudesse mostrar o andamento da operação em relação ao número total de arquivos que serão copiados, e não todos os arquivos disponíveis para serem copiados, pois utilizo arquivos --only-newer.
  2. Tendo em mente (1), seria interessante descobrir por que com --only-newerele tem a mesma velocidade que sem ele, quando o diretório já está completamente baixado. Se eu pudesse tornar o processo mais rápido, seria ótimo.

informação relacionada