Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a directory that contains symbolic links to other directories located on different media on my system:


But the symbolic links show up as:


How can I perform an rsync that follows the symbolic links?


rsync -XXX /files/ user@server:/files/

share|improve this question
up vote 44 down vote accepted

The -L flag to rsync will sync the contents of files or directories linked to, rather than the symbolic link.

share|improve this answer
When I do this, all the receiver symbolic links get deleted and my sender starts re-sending the files. – ensnare Mar 10 '11 at 16:40
Isn't that what you want? I thought you wanted to have the real files on the receiving side, not just the symlinks. Do you mean you want the symlinks copied as symlinks, but automagically rewritten to point to the "right" place on the receiving system? If so, that's not what is normally meant by "an rsync that follows the symbolic links". – MadHatter Mar 10 '11 at 17:10
It actually deletes the symbolic links and replaces them with the files. I want to follow the symbolic links through as if they were regular directories. – ensnare Mar 10 '11 at 17:53
Hi -- these are directories. I got this to work with the -K flag. – ensnare Mar 10 '11 at 21:20
I'm sure SO is making me more stupid.. – John Hunt Nov 7 '14 at 11:53

Just ran into this problem. And if you want rsync to treat symlinked directories as directories, you want the K option

rsync -K /files/ user@server:/files/

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.