Назад | Перейти на главную страницу

Rsync с демоном rsync не сохраняет владельцев или группы

Я настраиваю новую стратегию внутреннего резервного копирования, при которой несколько хостов в моей локальной сети будут скопированы на один хост, на котором запущен демон rsync.

Я все еще нахожусь на ранних стадиях этого процесса, выполняя резервное копирование дерева каталогов на том же хосте, что и демон rsync, и столкнулся с серьезной проблемой. Rsync не сохраняет владельцев или группы файлов.

Хост, на котором запущен демон rsync, - это Mac Pro с macOS 10.13.4.
На нем установлен Homebrew V1.6.6.
Я установил rsync V3.1.3 с Homebrew.
Демон 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 (201: 201).

После выполнения команды rsync целевой каталог и его содержимое принадлежат dpatterson: admin (501: 80, dpatterson - мое имя пользователя).

Я пробовал с --numeric-ids и без них.
Я пробовал запустить команду rsync от имени пользователя root. Скопированная папка и ее содержимое принадлежат пользователю root.
Я пробовал с явным указанием --owner --group и без него.

Все без толку.

Я полагаю, что мне не хватает чего-то довольно простого.

TIA

Попробуйте запустить его прямо из командной строки как root с этой командой

rsync -avzH

Это эффективно делает то, что вы пытаетесь сделать со своим скриптом, но немного чище, а также сохраняет жесткие ссылки. Если он работает непосредственно из командной строки, возможно, это поможет вам отладить то, что происходит с вашим скриптом.