
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.txt
nã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:
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:
- 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
. - Tendo em mente (1), seria interessante descobrir por que com
--only-newer
ele 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.