We have a rsync'd filesystem which generally contains very large files that only grow. We've specifically used the --append option to handle these files - since otherwise rsync is effectively CPU bound the whole time. I'd always assumed that any files that were simply modified (without a change in length) would be handled under the existing rsync logic. However it appears that once --append is selected then existing files are never copied/updated based on timestamp, only when the length changes. Is there any option that I've overlooked whereby I can force rsync to synchronise modified files (in addition to handling appended files). I could do two passes (--append followed by normal non-append), but the second pass is likely to also synchronise files that are appended to and rsync will end up taking 8 hours to complete. Maybe my best option is to use two rsync passes, and add use the --max-size/--min-size to ensure that append is only applied to large files, and to apply standard rsync logic for smaller files. This assumes that I can guarantee that files beyond a specific size will only be appended to. Thanks for any assistance. Mark
On Mon, Dec 15, 2014 at 9:06 PM, Mark Stead <Mark.Stead at unico.com.au> wrote:> Is there any option that I've overlooked whereby I can force rsync to > synchronise modified files (in addition to handling appended files). >No, rsync expects you to handle just appended files in --append mode. You should use include/exclude/filter rules to ensure that the files in the transfer are only those that are known to be growing via appended data or you risk rsync adding data onto a file with an earlier change and thus create a quick-check false-match. For the non-append run you might consider using --inplace, or just exclude all files that are being updated via appending. ..wayne.. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.samba.org/pipermail/rsync/attachments/20141231/7f47cfd6/attachment.html>