On Tue, 25 Nov 2003, daniel <[EMAIL PROTECTED]>�wrote:
>�Hi all,
>�
>�I am having *massive* problems trying to exclude a single directory from an rsync.
>�
>�I have serv1 and serv2. �I am trying to rsync /foo/test from serv1 to
> /foo on serv2 � I want to exclude the directory /foo/test/dir1 � So I try:
>�
>�rsync -av --exclude-from=/foo/rsync.excludes /foo/test serv2:/foo
>�
>�rsync.excludes contains:
>�/foo/test/dir1/
>�
>�
>�This is not working.

You are attempting to use an absolute path in the exclusion.

You want a relative path.  A leading "/" just anchors it to the base
of the tree for filename comparison (instead of floating it).

It looks like you figured that out later, though.

>�I also try:
>�
>�rsync -av --exclude=/foo/test/dir1/ /foo/test serv2:/foo
>�
>�and the exclude still does not work.

Different syntax - same reason for failure.

>�I have also tried other variations like:
>�
>�rsync -av --exclude=/dir1/ /foo/test serv2:/foo
>�
>�also to no avail.

This would have worked if you had specified the same paths for
the source and the destination.  You tried to take a shortcut by
not including 'test' in the destination and not using a trailing
slash in the source.

So now, the source root is "/foo/" (without the "test").
Therefore, the exclusion is trying to match "/foo/dir1/".

Either of these two commands should work - I recommend the 2nd:

rsync -av --exclude=/test/dir1/ /foo/test serv2:/foo
rsync -av --exclude=/dir1/ /foo/test/ serv2:/foo/test/

As a matter of habit and principle, I always specify the complete
paths down to the trailing / when I rsync two directories.  Then
there's never any confusion about what's going to happen.
-- 
        John Van Essen  Univ of MN Alumnus  <[EMAIL PROTECTED]>

-- 
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to