Eu gostaria de ter acesso a informações de progresso do lftp. Atualmente, estou usando o curl assim:
curl http://example.com/file -o file -L 2> download.log
Isso grava as informações de progresso do curl no arquivo download.log, que eu posso personalizar para obter progresso em tempo real.
Mas a mesma abordagem não funciona com o lftp, com stdout ou stderr. Acabo com um arquivo download.log vazio, até a transferência ser concluída.
lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
Quando não redireciono a saída, vejo progresso na tela. Quando redireciono a saída, paro de ver progresso na tela, mas nada aparece no download.log. Após a transferência do arquivo, vejo o resultado final, assim - mas nada antes:
97618627 bytes transferred in 104 seconds (913.1K/s)
O lftp está fazendo algo incomum com a saída - imprimir na tela sem imprimir no stdout / stderr? Existem outras maneiras de capturar a saída da tela além de redirecionar stdout / stderr?
Veja a configuração padrão "log: file / xfer" digitando o
set
comando no lftp.Saída possível:
Você pode alterar isso de diferentes maneiras fora do curso.
fonte
Verifique as variáveis de domínio xfer :
colocará as informações de transferência de log em ~ / .lftp / transfer_log
Não tenho certeza se você pode alterar o destino do arquivo de log.
fonte
tente isto para capturar informações de progresso: lftp sftp: // $ SFTPUSER: $ SFTPPASS @ $ SFTPHOST -e "cd $ DIRECTORY; mget $ SFTPFILE; bye"> $ SFTPLOG 2> & 1
fonte