O rsync tem uma --info
opção que pode ser usada não apenas para gerar o progresso atual, mas também a taxa de transferência e o tempo decorrido:
--info=FLAGS fine-grained informational verbosity
A explicação de como usá-lo vem sob a -P
opção na página do manual:
-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.)
Então, o seguinte:
rsync -r --info=progress2 --info=name0 "$src" "$dst"
Os resultados são apresentados a seguir e atualizados continuamente:
18,757,542,664 100% 65.70MB/s 0:04:32 (xfr#1389, to-chk=0/1510)
Observe que quando a transferência inicia, o número total de blocos e, portanto, o progresso atual, pode mudar quando a opção recursiva é usada, à medida que mais arquivos são descobertos para sincronização