you rather have given the answer to your question yourself. You say "like it is done while downloading file from internet". So why not simulate 'downloading'?
setup an wildcard rsync configuration:
/tmp/rsyncd.conf:
uid = root
gid = root
use chroot = no
read only = no
[root]
path = /
start a temporary rsync server (with root privileges):
rsync --daemon --config=/tmp/rsyncd.conf --no-detach
enjoy copying in another terminal with progress meter, byte counting and everything you like (following standard rsync syntax). In the example below you can limit the copy bandwidth in effect even all copying takes place within your local machine only. This may ease your copy problems by the way:
rsync -va --progress --bwlimit=80 localhost::root/<src> <dst>