On May 1, 2010, at 4:29 AM, Matt McCutchen wrote:

> On Fri, 2010-04-30 at 14:21 +0700, Ryan Joseph wrote:
>> On Apr 30, 2010, at 12:54 PM, Matt McCutchen wrote:
>>> Rsync determines which of the files in the file list need a data
>>> transfer as it goes, so the only way to get the count in advance is to
>>> do a separate dry run.  Then you could take the "Number of files
>>> transferred" from --stats output.
>> 
>> What do you mean "dry run" and wouldn't that take as much time as the
>> real backup thus effectively doubling the time? If so that's probably
>> not a good option.
> 
> Rsync has a --dry-run option to run without actually making the changes
> to the destination.  The source and destination are scanned as normal,
> but transmission of the contents of files is skipped.  See the man page
> for more information.

The man page I was looking at (hosted by Apple) didn't show this option but it 
appears to be in the software and working. This is the option I was looking for 
but the performance impact is going to be difficult to work around. It's much 
faster than the actual transfer but still requires a significant amount of time 
to run. The solution may be to process the dry run in the background and 
hopefully by the time the user performs a backup the file count will be 
returned and available, but that seems like a waste of processor just to get a 
progress bar. If so many users didn't email me requesting this feature I would 
assume just forget about it. ;)

Thanks though, I think this is the proper solution if I can implement it 
properly.

> 
>>> Alternatively, you could base the progress bar on the total number of
>>> entries in the file list.  The --progress option does this, but it won't
>>> be accurate if incremental recursion is enabled.
>> 
>> I tried the --progress option but it only seemed to show the progress
>> for each file which really isn't helpful for my case. 
> 
> See the "to-check" values at the end of each progress line, for example:
> 
> $ rsync -r --progress src2/ dest2/
> sending incremental file list
> created directory dest2
> ./
> filea
>           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=1/3)
> fileb
>           0 100%    0.00kB/s    0:00:00 (xfer#2, to-check=0/3)
> 
> sent 126 bytes  received 53 bytes  358.00 bytes/sec
> total size is 0  speedup is 0.00

I see now. I think that ratio is based off of the total amount of files and not 
the files transferred so it won't help any.

Regards,
        Josef

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to