Solution for rsync overall progress data display

Simon Hobson linux at thehobsons.co.uk
Sun Nov 26 21:34:25 UTC 2017


> I looking for a solution to display overall rsync progress on an LCD display as a bargraph.
> I have found 2 parameters:
> 
> --progress
>             This  option  tells  rsync  to  print  information  showing  the
>             progress of the transfer. This gives a bored user  something  to
>             watch.  Implies --verbose if it wasn't already specified.
> 
>             While  rsync  is  transferring  a  regular  file,  it  updates a
>             progress line that looks like this:
> 
>                   782448  63%  110.64kB/s    0:00:04
> 
> But they are not showing the overall progress during the transfer what I need.

Bear in mind that until the sync is almost finished, rsync does NOT know how much is left to do. AIUI, one thread is running a compare, working down the directory tree and building a list of files that aren't up to date on the target. Another thread is then taking files from this list and syncing them.
So at any point in time, there is a queue of files to be synced which is NOT complete, and a process that's syncing those files one at a time. Until the first thread is done, there isn't even a list of files, and until the sync is running, there isn't information on how much needs to be transferred for each of those files.

It's well worth reading Andrew Tridgell's PHD thesis where the algorithm is detailed. It's quite readable and gives a good insight into how rsync works.
https://www.samba.org/~tridge/phd_thesis.pdf




More information about the rsync mailing list