Я пытаюсь написать Python script, который будет отслеживать передачу rsync и предоставлять (приблизительную) оценку процентного прогресса. Для моей первой попытки я просмотрел команду rsync --progress
и увидел, что она печатает сообщения, такие как:
1614 100% 1.54MB/s 0:00:00 (xfer#5, to-check=4/10)
Я написал парсер для таких сообщений и использовал часть проверки для получения процентного прогресса, здесь это будет 60% завершено.
Однако в этом есть два недостатка:
- В больших передачах "числитель" фракции проверки не кажется монотонно уменьшающимся, поэтому процентная полнота может скатиться назад.
- Такое сообщение не печатается для всех файлов, что означает, что прогресс может перепрыгнуть вперед.
Я рассмотрел другие варианты использования сообщений, но ничего не нашел. У кого-нибудь есть идеи?
Спасибо заранее!