带有 rsync 守护进程的 rsync 未保留所有者或组

带有 rsync 守护进程的 rsync 未保留所有者或组

我正在设置一个新的内部备份策略,其中我的 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 命令。复制的文件夹及其内容归 root 所有。
我尝试过使用和不使用明确指定 --owner --group。

但一切都无济于事。

我想我一定是忽略了一些相当基本的东西。

短暂性脑缺血发作

答案1

尝试直接从命令行运行它,就像root这个命令一样

rsync -avzH

这有效地完成了您在脚本中尝试执行的操作,但它更简洁,并且还保留了硬链接。如果它直接从命令行运行,也许它会帮助您调试脚本中发生的事情。

相关内容