Rsync – Dealing with Absolute Symlinks

rsyncsymbolic-linksymlinksynchronization

Having read through the rsync manpage, I can't see any way for rsync to automagically transform absolute symlinks between machines, i.e

Server A
file -> /home/username/path/file

Server B
file -> /home/differentusername/path/file

Any ideas (bearing in mind that the rsync would only be run under /home/username/)?

Best Answer

Would this information lead to a solution?

From man rsync:

. . .

If you want to duplicate a server-side symlink, include both the symlink via its path, and referent directory via its real path.

. . .

It is also possible to limit the amount of path information that is sent as implied directories for each path you specify. With a modern rsync on the sending side (beginning with 2.6.7), you can insert a dot and a slash into the source path, like this:

rsync -avR /foo/./bar/baz.c remote:/tmp/

That would create /tmp/bar/baz.c on the remote machine. (Note that the dot must be followed by a slash, so “/foo/.” would not be abbreviated.)

. . .

[omitted some information regarding earlier versions of rsync]