BackupPC - por que ele usa rsync --sender --server…?

5

Estou no processo de experimentar o BackupPC em um servidor CentOS 5.5. Eu tenho tudo muito bem configurado com valores padrão.

Eu tentei configurar um backup básico para o diretório host / www. O backup falha com os seguintes erros:

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)

Primeiro, sim, eu tenho minha configuração de chaves ssh para permitir que eu faça ssh no servidor de destino sem precisar de uma senha.

No processo de solução de problemas, eu tentei o comando ssh acima diretamente da linha de comando e ele trava. Olhando para o final das mensagens de depuração para o SSH eu recebo:

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

Em seguida, comecei a observar as sinalizações do rsync. Não reconheci --server e --sender . Olhando para as páginas man do rsync, com certeza, não vejo nada sobre --server ou --sender lá. O que são aqueles para lá?

Olhando para a configuração do BackupPC, tenho isto:

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

E para os argumentos, tenho o seguinte:

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

Observe que não há --server , --sender ou --ignore-times . Por que essas coisas estão sendo adicionadas? Isso é parte do problema?

    
por Jake Wilson 17.03.2011 / 00:22

2 respostas

4

As opções --server --sender são usadas quando você está executando o rsync em um pipe. O servidor rsync é configurado no lado remoto para que ele possa fazer toda a soma de verificação e magia de codificação delta para que você esteja transferindo apenas os bits alterados pelo fio. Isso provavelmente não está documentado na página do manual, uma vez que eles são adicionados automaticamente e geralmente não precisam saber ou se preocupar com eles.

De man rsync (1)

The options --server and --sender are used internally by rsync, and should never be typed by a user under normal circumstances. Some awareness of these options may be needed in certain scenarios, such as when setting up a login that can only run an rsync command. For instance, the support directory of the rsync distribution has an example script named rrsync (for restricted rsync) that can be used with a restricted ssh login.

    
por 17.03.2011 / 00:37
2

Da minha página de manual:

The options --server and --sender are used internally by rsync, and should never be typed by a user under normal circumstances. Some awareness of these options may be needed in certain scenarios, such as when setting up a login that can only run an rsync command. For instance, the support directory of the rsync distribution has an example script named rrsync (for restricted rsync) that can be used with a restricted ssh login.

Quando você não executa um servidor rsync persistente (usando rsyncd.conf e rsync --daemon ), o rsync precisa criar seu próprio servidor na extremidade remota da conexão para examinar os arquivos e executar o hash e assim por diante.

    
por 17.03.2011 / 00:38

Tags