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