Files
rsync 即使使用 -a 也不會保留目錄所有權
我使用這個 rsync 呼叫來備份我的主目錄:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
rsync 手冊頁說 -a 意味著 -g 和 -o (以及其他開關),它們應該保留所有權。但是我注意到,如果目錄下不存在
$BACKUP_MNTPOINT/$USER_HOME
,它是使用 root:root 所有權創建的,而不是正確的。(這只發生在目錄下面$BACKUP_MNTPOINT/$USER_HOME
)。這是為什麼?
$BACKUP_MNTPOINT
是本地安裝的驅動器。$BACKUP_MNTPOINT/$USER_HOME
確實擁有正確的所有權和權限。既不$USER_HOME
也不$BACKUP_MNTPOINT
以斜線結尾。源文件系統和目標文件系統都是 XFS 並且執行
mkdir $BACKUP_MNTPOINT/$USER_HOME
會創建一個具有預期所有權的目錄。
rsync
用於將我的系統備份到我的伺服器時,我遇到了類似的問題。我用了:rsync -aAXSHPr \ -e ssh \ --rsync-path="sudo /usr/bin/rsync/" \ --numeric-ids \ --delete \ --progress \ --exclude-from="/path/to/file/that/lists/excluded/folders.txt" \ --include-from="/path/to/file/that/lists/included/folders.txt" \ / USER@SERVER:/path/to/folder/where/backup/should/go/
解決方案是沒有真正的問題。我懷疑您在
rsync
看到它創建的文件夾設置了錯誤的權限後就中止了該過程。關鍵是rsync
只有在完成同步所有子文件夾和文件後才設置父文件夾的權限。