implied-dirs tail component being chown'd
Chris Roehrig
croehrig at house.org
Tue Aug 27 21:56:25 UTC 2019
I use rsync in a fairly complex scripted situation and am trying to figure out how to avoid changing ownership/permissions just on the directories specified on the command line (but operate normally for everything underneath).
I've been using --relative --no-implied-dirs with some success in other situations, but here it still seems to try to chown the last path component of the implied-dirs, even when the /./ separator is appended. When I use verbose, I see that rsync does a chdir() to the implied dir on the receiving end, but then also tries to chown('.') which I don't expect it to be doing. I expected rsync to not try to change permissions or ownership on everything before the /./ separator.
E.g. backing up and restoring my Windows home directory which is owned by SYSTEM:SYSTEM with everything underneath owned by me:me to a remote Linux server with everything owned by me:me:
rsync -a --super --relative --no-implied-dirs "--filter=. HomeWin.rfilter" /cygdrive/c/Users/me/./ myserver:/WinBACKUP/Users/me/
where HomeWin.rfilter is anchored at a Windows home directory and contains something like:
+ /Pictures/
- /*
This ends up failing to chown SYSTEM:SYSTEM /WinBACKUP/Users/me (permission denied; no such user/group).
I have a usable workaround which is just to chown me:me /cygdrive/c/Users/me, but it would be nice to figure out a proper solution without risking Windows issues.
Any help, ideas would be appreciated.
Thanks,
-- Chris
More information about the rsync
mailing list