В rsync есть --info
опция, которую можно использовать не только для вывода текущего прогресса, но также для скорости передачи и истекшего времени:
--info=FLAGS fine-grained informational verbosity
Объяснение того, как его использовать, находится под -P
опцией на странице руководства:
-P The -P option is equivalent to --partial --progress. Its purpose is to
make it much easier to specify these two options for a long transfer that
may be interrupted.
There is also a --info=progress2 option that outputs statistics based on
the whole transfer, rather than individual files. Use this flag
without out‐putting a filename (e.g. avoid -v or specify --info=name0)
if you want to see how the transfer is doing without scrolling the screen
with a lot of names. (You don’t need to specify the --progress
option in order to use --info=progress2.)
Итак, следующее:
rsync -r --info=progress2 --info=name0 "$src" "$dst"
В результате выдается и постоянно обновляется следующее:
18,757,542,664 100% 65.70MB/s 0:04:32 (xfr#1389, to-chk=0/1510)
Обратите внимание, что когда начинается передача, общее количество фрагментов и, следовательно, текущий прогресс могут измениться, если используется рекурсивная опция, поскольку для синхронизации обнаруживается больше файлов