Mac-Osx

rsync 與 rsync 守護程序不保留所有者或組

  • December 28, 2018

我正在設置一個新的內部備份策略,其中我的 LAN 上的多個主機將備份到執行 rsync 守護程序的單個主機。

我仍處於早期階段,在與 rsync 守護程序相同的主機上備份目錄樹並遇到了嚴重問題。Rsync 不保留文件的所有者或組。

執行 rsync 守護程序的主機是執行 macOS 10.13.4 的 Mac Pro。

它安裝了 Homebrew V1.6.6。

我用 Homebrew 安裝了 rsync V3.1.3。

rsync 守護程序以 root 身份執行(ls -Al 顯示 uid 為 0)。

日誌文件中沒有錯誤。

rsyncd.conf 文件:

# /usr/local/etc/rsyncd.conf
[global]
   uid = 0
   log file = /Volumes/Data01/Projects/DPLHInternal/Backup/rsync.log
   max verbosity = 3

[users]
   comment = Mac user directories
   path = /Users
   read only = true
   exclude = .Trash

rsync 命令(作為 bash 腳本):

#!/usr/bin/env bash
# rsync_local.sh
rsync \
 --stats \
 --human-readable \
 --archive \
 --acls \
 --executability \
 --owner \
 --group \
 --numeric-ids \
 --perms \
 --xattrs \
 rsync://localhost/users/ /Volumes/Data03/Backups/Rsync/Dave/users

在 /Users 目錄中有一個名為 Guest 的子目錄。此文件夾及其內容歸 Guest:_guest (201:201) 所有。

執行 rsync 命令後,目標目錄及其內容歸 dpatterson:admin(501:80,dpatterson 是我的使用者名)所有。

我嘗試過使用和不使用 –numeric-ids。

我嘗試以 root 身份執行 rsync 命令。然後,複製的文件夾及其內容歸根使用者所有。

我嘗試過明確指定和不明確指定–owner –group。

一切都無濟於事。

我想我一定錯過了一些相當基本的東西。

TIA

root嘗試使用此命令直接從命令行執行它

rsync -avzH

這有效地完成了您嘗試對腳本執行的操作,但它更簡潔,並且還保留了硬連結。如果它直接從命令行工作,也許它會幫助您調試腳本正在發生的事情。

引用自:https://serverfault.com/questions/915506