Discussion:
How do you exclude a directory that is a symlink?
Steve Dondley
2017-03-03 12:41:10 UTC
Permalink
A thousand greetings,

I'm trying to rsync a directory from a server to my local machine that has
a symbolic link to a directory I don't want to download. I have an
"exclude" option to exclude the symlink which works fine. However, if I add
a --copy-links option to the command, it appears to override my "exclude"
directive and the contents of the symlinked directory gets downloaded
anyway.

I suspect I need some kind of --filter option. I read the documentation (or
at least tried do) regarding the --filter option but a mortal, casual user
like me could not make heads or tails of it.

Thanks.
Steve Dondley
2017-03-03 13:50:39 UTC
Permalink
The directory I'm trying to copy from is: /home/blah/dir

The symlink is /home/blah/dir/unwanted_symlinked_dir
Post by Steve Dondley
I'm trying to rsync a directory from a server to my local machine that
has
Post by Steve Dondley
a symbolic link to a directory I don't want to download. I have an
"exclude" option to exclude the symlink which works fine. However, if I
add
Post by Steve Dondley
a --copy-links option to the command, it appears to override my "exclude"
directive and the contents of the symlinked directory gets downloaded
anyway.
You don't say explicitly, is the target of the symlink inside or
outside the source directory?
Paul
--
Prometheus Labor Communications, Inc.
http://prometheuslabor.com
413-572-1300 <(413)%20572-1300>

Communicate or Die: American Labor Unions and the Internet
http://communicateordie.com
Steve Dondley
2017-03-03 15:27:12 UTC
Permalink
Ah, sorry, it links to somewhere outside the directory. Thanks.

/home/blah/dir/unwanted_symlinked_dir points to /home/blah/other_dir
Post by Steve Dondley
The directory I'm trying to copy from is: /home/blah/dir
The symlink is /home/blah/dir/unwanted_symlinked_dir
You don't say explicitly, is the target of the symlink inside or
outside the source directory?
No, I was asking about the *target* of the symlink. Not the name of the
symlink itself.
Paul
--
Prometheus Labor Communications, Inc.
http://prometheuslabor.com
413-572-1300 <(413)%20572-1300>

Communicate or Die: American Labor Unions and the Internet
http://communicateordie.com
Steve Dondley
2017-03-03 16:36:57 UTC
Permalink
I'm not sure if this is directed at me or not. But should I take it to mean
that what I want to accomplish is not possible using normal commands?
Considering you cant INCLUDE a directory that is a symlink... which would
be really handy right now for me to resolve a mapping of 103 ->
meaningful_name
for backups, instead im resorting to temporary bind mounts of 103 onto
meaningful_name, and when the bind mount isnt there, the --del is emptying
meaningful_name accidentally at times.
I think both situations could benefit from a --resolve-cmd-line-links
switch
to resolve COMMAND LINE-SUPPLIED symlinks.
http://unix.stackexchange.com/questions/153262/get-rsync-to-
dereference-symlinked-dirs-presented-on-cmdline-like-find-h
/kc
Post by Steve Dondley
A thousand greetings,
I'm trying to rsync a directory from a server to my local machine that
has
Post by Steve Dondley
a symbolic link to a directory I don't want to download. I have an
"exclude" option to exclude the symlink which works fine. However, if I
add
Post by Steve Dondley
a --copy-links option to the command, it appears to override my
"exclude"
Post by Steve Dondley
directive and the contents of the symlinked directory gets downloaded
anyway.
I suspect I need some kind of --filter option. I read the documentation
(or
Post by Steve Dondley
at least tried do) regarding the --filter option but a mortal, casual
user
Post by Steve Dondley
like me could not make heads or tails of it.
Thanks.
--
Please use reply-all for most replies to avoid omitting the mailing
list.
Post by Steve Dondley
To unsubscribe or change options: https://lists.samba.org/
mailman/listinfo/rsync
Post by Steve Dondley
Before posting, read: http://www.catb.org/~esr/faqs/
smart-questions.html
--
Toronto Canada
Front St. W.
--
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/
mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
--
Prometheus Labor Communications, Inc.
http://prometheuslabor.com
413-572-1300

Communicate or Die: American Labor Unions and the Internet
http://communicateordie.com
Wayne Davison
2017-03-05 18:35:06 UTC
Permalink
However, if I add a --copy-links option to the command, it appears to
override my "exclude" directive and the contents of the symlinked directory
gets downloaded anyway.
The use of --copy-links doesn't do that, so mention what your args and
paths are and we can figure out what you're seeing.

..wayne..
Wayne Davison
2017-03-05 18:41:19 UTC
Permalink
I think both situations could benefit from a --resolve-cmd-line-links
switch to resolve COMMAND LINE-SUPPLIED symlinks.
You can specify symlinks in a --relative path with a trailing slash-dot
(and use /./ infix notation to trim paths). For example:

rsync -aivR /some/path/./symlink/. /dest/

That will create /dest/symlink/ and its contents.

..wayne..

Loading...