I was wondering if it would be possible to get a --resume flag into rsync, that
mimics wget's -c flag. It's seriously non-obvious to try to figure out how to
get rsync to resume nicely(--partial --no-whole-file, I *think*), and it's
definitely needed over slowband connections when the carrier could drop at any time.
Unfortunately, a --resume option wouldn't work because any data from a partial
transfer would have been discarded before you tried to do the resume (and,
interestingly, when you tell rsync to keep the partial data, it automatically
resumes without needing an extra option).
The best way to run rsync for a long transfer has been to specify the -P option
(which turns on both --partial and --progress). The user does need to remember
to use this on the initial transfer, though, or else there will be nothing to
resume. You don't need to worry about --no-whole-file because it is only on by
default for a local copy.
Beginning with 2.6.3, there is an alternative: --inplace. This works very well
for both copying a new file from scratch and (especially) for resuming a partial
transfer of that new file (which avoids an extra temp-file copy being made when
resuming). So, a good download-option combo is "-P --inplace" (which is the
equivalent of the longer "--progress --inplace" because the --inplace option
If you have an idea for how to make this easier for the user, feel free to tweak