Estoy tratando de escribir un script de Python que supervise una transferencia de rsync y proporcione una estimación (aproximada) del progreso porcentual. Para mi primer intento, miré a un comando rsync --progress
y vi que imprime mensajes tales como:Supervisión del progreso de Rsync
1614 100% 1.54MB/s 0:00:00 (xfer#5, to-check=4/10)
me escribió un programa de análisis de este tipo de mensajes, y se utiliza la parte de verificación para producir un porcentaje de avance, aquí, esto sería 60% completado.
Sin embargo, hay dos fallas en este:
- En las transferencias grandes, el "numerador" de la fracción a-cheque no parece disminuir de forma monótona, por lo que el porcentaje de integridad puede saltar hacia atrás.
- Este mensaje no se imprime para todos los archivos, lo que significa que el progreso puede avanzar.
He echado un vistazo a otras alternativas de mensajes para usar, pero no he podido encontrar nada. ¿Alguien tiene alguna idea?
¡Gracias de antemano!
Los valores saltan porque rsync comienza a transferir datos mientras todavía está evaluando el trabajo que tiene que hacer. Es una medida tan buena como cualquiera que obtendrás. – hop
¿No hay forma de hacer una evaluación previa del trabajo que necesita hacer? --dry-run --stats parece ser el tipo de cosa para hacer esto, desafortunadamente los valores que produce para que los datos sean transferidos no son correctos. – paulmdavies
¿por qué reduciría la velocidad, solo para que muestre información inútil? – hop