rsync with overlay tree

Marian Marinov mm at
Thu Mar 31 05:22:40 UTC 2016

On 03/31/2016 07:40 AM, tomr wrote:
> I maintain a directory structure containing dirs and files that I regularly push to ~50 hosts, which are divided into 3 groups that have slightly different needs (minor mods in a couple of files).
> So ideally I would have 4 directories:
>     /path/to/sync/common/   <- common files
>     /path/to/sync/group1/   <- group1 specific only
>     /path/to/sync/group2/   <- group2 specific only
>     /path/to/sync/group3/   <- group3 specific only
> Then I'd run an rsync like:
>     rsync -av --overlay /path/to/sync/groupN \
>      /path/to/sync/common remotehost:
> Thinking in terms of a list of files to be transferred, I would like:
> - Anything present in common/ added to the file list; then
> - Anything present in groupN/ added to the list, clobbering if applicable (regardless of mtime)
> - The destination directory to show no sign of the common / overlay structure

I really like the idea, however I have one question. How is rsync going to decide which files to be present in the final list?
I mean, should rsync always prefer the files from the overlay dir instead of the files in the common dir, no matter is they differ or not?

> I suspect I could populate the list myself and use '--files-from=<LIST>' but I would rather have rsync work it out if possible.  If all else fails, I will do the merge locally first.
>     TEMPDIR=$(mktemp -d)
>     cp -r /path/to/sync/common/* $TEMPDIR
>     cp -r /path/to/sync/groupN/* $TEMPDIR
>     rsync -av $TEMPDIR/* remotehost:
>     rm -r $TEMPDIR
> Thanks in advance,
> tom

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the rsync mailing list