iinclude/excludes and symbolic links

Eric Horne eric.horne at teradyne.com
Sat Nov 5 00:50:28 GMT 2005

I'm trying to rsync a directory structure and it's contents to another 
machine. I want to make sure that the entire toplevel part of the 
directory structure is created at the remote site, since it may not exist.

top: A/ B/ C/

under B/: 1/ 2/ 3/

under 2/: x/ y/ z/

all of this is located in /top/level/dir on the source system.

I want to send "B/1/y" and it's contents to the remote site, but I want 
it to preserve that structure, creating it if it doesn't exist at the 
remote site. I do not want any other part of the tree.

I made an include file as follows:

+ /B/
+ /B/2/
+ /B/2/y/
+ /B/2/y/**
- *

when I include this, nothing is transferred. The structure does not 
exist on the remote server. Here's the command-line:
rsync -rvzd --include-from=incfile /top/level/dir remote::share

If I remove the '- *' from the include, it transfers everything under 

If I use --from-file and list all the included paths as follows and use 
an exclude='*', I can get it to copy over. I've done tons of iterations 
on this, so forgive me for not remembering exactly which arguments I 
used with --from-file..


I have tried removing the terminating slashes, adding them, removing the 
front slashes, and lots of other combinations for the incfile.

I'm using rsync 2.6.6 under RedHat Linux Enterprise 3.0.



More information about the rsync mailing list