Me gustaría tener acceso a la información de progreso de lftp. Actualmente, estoy usando curl así:
curl http://example.com/file -o file -L 2> download.log
Esto escribe la información de progreso de curl en el archivo download.log, que puedo seguir para obtener progreso en tiempo real.
Pero el mismo enfoque no funciona con lftp, ya sea con stdout o stderr. Termino con un archivo download.log vacío, hasta que se completa la transferencia.
lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
Cuando no redirijo la salida, veo progreso en la pantalla. Cuando redirijo la salida, dejo de ver el progreso en la pantalla, pero no aparece nada en download.log. Una vez completada la transferencia del archivo, veo el resultado final, como este, pero nada antes:
97618627 bytes transferred in 104 seconds (913.1K/s)
¿Está haciendo lftp algo inusual con su salida: imprimir en pantalla sin imprimir en stdout / stderr? ¿Hay otras formas de capturar la salida de pantalla que redirigir stdout / stderr?
Consulte la configuración predeterminada "log: file / xfer" ingresando el
set
comando en lftp.Salida posible:
Puede cambiar esto de diferentes maneras fuera de curso.
fuente
Verifique las variables de dominio xfer :
pondrá la información de transferencia de registro en ~ / .lftp / transfer_log
Sin embargo, no estoy seguro de poder cambiar el destino del archivo de registro
fuente
intente esto para capturar información de progreso: lftp sftp: // $ SFTPUSER: $ SFTPPASS @ $ SFTPHOST -e "cd $ DIRECTORY; mget $ SFTPFILE; bye"> $ SFTPLOG 2> & 1
fuente