Вопрос: BackupPC - зачем он использует rsync --sender --server ...?


Я нахожусь в эксперименте с BackupPC на сервере CentOS 5.5. У меня есть все, что можно настроить со значениями по умолчанию.

Я попытался настроить базовую резервную копию для каталога хоста / www. Ошибка резервного копирования со следующими ошибками:

full backup started for directory /www
Running: /usr/bin/ssh -q -x -l root target /usr/bin/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --ignore-times . /www/
Xfer PIDs are now 30395
Read EOF: Connection reset by peer
Tried again: got 0 bytes
Done: 0 files, 0 bytes
Got fatal error during xfer (Unable to read 4 bytes)
Backup aborted (Unable to read 4 bytes)
Not saving this as a partial backup since it has fewer files than the prior one (got 0 and 0 files versus 0)

Прежде всего, да, у меня есть моя настройка ssh, чтобы разрешить мне ssh на целевой сервер, не требуя пароля.

В процессе устранения неполадок я попробовал вышеуказанную команду ssh непосредственно из командной строки, и она зависает. Глядя на конец отладочных сообщений для SSH, я получаю:

debug1: Sending subsystem: /usr/bin/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --ignore-times . /www/
Request for subsystem '/usr/bin/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --ignore-times . /www/' failed on channel 0

Затем я начал искать флаги rsync. Я не узнал --server а также --sender, Конечно, я смотрю на страницы rsync man, я ничего не вижу --server или --sender там. Для чего они нужны?

Если посмотреть на конфигурацию BackupPC, у меня есть следующее:

RsyncClientPath = /usr/bin/rsync
RsyncClientCmd = $sshPath -q -x -l root $host $rsyncPath $argList+

И для аргументов у меня есть перечисленные ниже:

--numeric-ids
--perms
--owner
--group
-D
--links
--hard-links
--times
--block-size=2048
--recursive

Обратите внимание, что нет --server, --sender или --ignore-times, Почему все это добавляется? Это часть проблемы?


5
2018-03-16 23:22


Источник




Ответы:


--server --sender являются параметрами, которые использовались при запуске rsync по каналу. Сервер rsync настроен на удаленную сторону, чтобы он мог выполнять все маски с контрольной суммой и дельта-кодировкой, чтобы вы только переносили измененные биты по проводу. Это, вероятно, не задокументировано на странице руководства, так как они автоматически добавляются и, как правило, не нужно знать или заботиться о них.

Из человек rsync (1)

Параметры -server и -sender используются внутри rsync и никогда не должны вводиться пользователем при нормальных обстоятельствах. Некоторая осведомленность об этих параметрах может потребоваться в определенных сценариях, например, при настройке логина, который может выполнять только команду rsync. Например, каталог поддержки дистрибутива rsync имеет примерный скрипт с именем rrsync (для ограниченного rsync), который может использоваться с ограниченным именем ssh.


4
2018-03-16 23:37





На моей странице:

Параметры -server и -sender используются внутри rsync и никогда не должны вводиться пользователем при нормальных обстоятельствах. Некоторая осведомленность об этих параметрах может потребоваться в определенных сценариях, например при настройке входа в систему,         может выполнять только команду rsync. Например, каталог поддержки дистрибутива rsync имеет пример скрипта         named rrsync (для ограниченного rsync), который может использоваться с ограниченным именем входа ssh.

Если вы не запускаете постоянный сервер rsync (используя rsyncd.conf и rsync --daemon), то rsync необходимо создать свой собственный сервер на удаленном конце соединения, чтобы изучить файлы и выполнить хэширование и так далее.


2
2018-03-16 23:38