Używam tego wywołania rsync do utworzenia kopii zapasowej mojego katalogu domowego:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
Strona man rsync mówi, że -a oznacza -g i -o (między innymi przełącznikami), co powinno zachować własność. Zauważyłem jednak, że jeśli katalog nie istnieje $BACKUP_MNTPOINT/$USER_HOME
, jest on tworzony z własnością root: root zamiast z poprawnej. (Dzieje się tak tylko w przypadku katalogów bezpośrednio pod $BACKUP_MNTPOINT/$USER_HOME
). Dlaczego?
$BACKUP_MNTPOINT
jest dyskiem montowanym lokalnie. $BACKUP_MNTPOINT/$USER_HOME
ma odpowiednią własność i uprawnienia. Ani się $USER_HOME
nie $BACKUP_MNTPOINT
kończy ukośnikiem.
Zarówno źródłowy, jak i docelowy system plików to XFS, a uruchomienie mkdir $BACKUP_MNTPOINT/$USER_HOME
tworzy katalog z oczekiwaną własnością.
/home
dysku zapasowego, jak i dla niego. Jak dotąd myślę, że stało się to tylko w przypadku katalogów nadrzędnych. Ani się $BACKUP_MNTPOINT
nie $USER_HOME
kończy ukośnikiem. EDYCJA: Mogę potwierdzić, że teraz dzieje się to tylko z katalogami poniżej$BACKUP_MNTPOINT/$USER_HOME
mkdir $BACKUP_MNTPOINT/$USER_HOME/foo
tworzy katalog z własnością użytkownika.
strace
(jak podano w pseudo-odpowiedzi).
$BACKUP_MNTPOINT
i przy jakich opcjach jest montowany? Czy dzieje się tak tylko w przypadku katalogu macierzystego ($BACKUP_MNTPOINT/$USER_HOME
) lub wszystkich utworzonych katalogów? Zrób$BACKUP_MNTPOINT
i$USER_HOME
zakończ z/
?