2

На стороне клиента:

rsync -x -r -t -v -o "nobody" -g "nogroup" --progress --delete -u --partial -s -e ssh /home/john/Calibre\ Library root@192.168.0.21:/media/Book

На стороне сервера:

clementine:/c/media/Book# ls -la
total 20
drwxrwxrwt   3 nobody nogroup  4096 Jul  1 20:34 .
drwxrwxrwt  13 nobody nogroup  4096 Jul  1 19:24 ..
drwxr-xr-x 246 backup users   12288 Jun 30 17:37 Calibre Library

Я понятия не имею, почему это изменяет пользователя и группу и не назначает правильному. Почему это?

1 ответ1

1

Обновить:

Я начинаю думать, что ваша проблема может быть связана с тем, что UID/GID на ваших машинах отличается.

Пользователь на этом сайте объясняет следующее:

У вас нет имен пользователей в /etc /passwd на новом сервере, и поэтому имена владельцев / групп не видны в файлах, которые вы скопировали.

Просто скопируйте соответствующие записи в /etc /passwd, /etc / shadow и /etc / group со старого сервера на новый, и так и должно быть.

Имеет ли это смысл? В комментариях я упоминал об использовании команды "stat" для определенных файлов / папок как на клиенте, так и на сервере. Часть вывода статистики будет отображать UID и GID. Это может помочь в определении различий между клиентом и сервером.

Оригинальный ответ:

Я вижу, что у вас есть «root@192.168.0.21», но продолжайте и убедитесь, что добавили опцию «--super» в вашу команду.

rsync -x -r -t -v -o "nobody" -g "nogroup" --super --progress --delete -u --partial -s -e ssh /home/john/Calibre\ Library root@192.168.0.21:/media/Boo

Страница руководства по Linux:

-о, - владелец
Эта опция заставляет rsync установить владельца целевого файла таким же, как исходный файл, но только если принимающий rsync запускается как суперпользователь (см. Также параметры --super и --fake-super), Без этой опции владелец новых и / или переданных файлов устанавливается вызывающим пользователем на принимающей стороне.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .