How to keep the full path with rsync?
Use the -R
or --relative
option to preserve the full path.
Another common related use case it to keep a selected part of the directory tree with /./
, e.g. if you wanted:
/home/udi/files/pictures
to go to:
backup/files/pictures
you can write:
rsync --relative /home/udi/./files/pictures backup
The magic /./
gets specially parsed by rsync
before it passes that path to the system calls, and tells it where to start creating directories from. The /./
means nothing for other POSIX utilities in general, e.g. the path a/./b
is the same as a/b
in POSIX.
With the Cygwin Windows rsync, and assuming the remote rsync is pointing to the root, I'd do:
rsync -vtrz --delete server::rsyncid/home/udi/files/pictures /cygdrive/d/backup/home/udi/files
That will put the contents of the remote pictures directory in /backup/home/udi/files/pictures. Presumably the syntax under unix would be similar.
JR