Я настраиваю новую стратегию внутреннего резервного копирования, при которой несколько хостов в моей локальной сети будут скопированы на один хост, на котором запущен демон 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
Это эффективно делает то, что вы пытаетесь сделать со своим скриптом, но немного чище, а также сохраняет жесткие ссылки. Если он работает непосредственно из командной строки, возможно, это поможет вам отладить то, что происходит с вашим скриптом.