O rsync requer que o host de origem e o host de destino executem o rsync como cliente, servidor ou daemon?

4

A partir do manpage do rsync

SYNOPSIS

Local:  rsync [OPTION...] SRC... [DEST]
Access via remote shell:
  Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
  Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
Access via rsync daemon:
  Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
        rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
  Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
        rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

Usages with just one SRC arg and no DEST arg will list the source files instead of copying

GENERAL

...

Rsync refers to the local side as the "client" and the remote side as the "server". Don't confuse "server" with an rsync daemon -- a daemon is always a server, but a server can be either a daemon or a remote-shell spawned process.

SETUP

See the file README for installation instructions.

Once installed, you can use rsync to any machine that you can access via a remote shell (as well as some that you can access using the rsync daemon-mode protocol). For remote transfers, a modern rsync uses ssh for its communications, but it may have been configured to use a different remote shell by default, such as rsh or remsh.

You can also specify any remote shell you like, either by using the -e command line option, or by setting the RSYNC_RSH environment variable.

Note that rsync must be installed on both the source and destination machines.

A partir da sinopse, o rsync pode ser usado para

  1. transferência de arquivos entre local e remoto ou entre local e local.

    Ao transferir arquivos entre local e remoto,

    • acesso via shell remoto

    • acesso via daemon rsync

  2. listando os arquivos de origem

Minhas perguntas são

  1. Ao transferir arquivos entre locais e remotos acessando via daemon rsync, o host remoto é necessário para executar o rsync como um daemon?

  2. Ao transferir arquivos entre locais e remotos acessando através de um shell remoto, o host remoto precisa executar o rsync? Se sim, o host remoto executa o rsync como um servidor, mas não como um daemon, ou apenas como o host local executa o rsync como um cliente?

  3. Ao transferir arquivos dentro do host local, o host local precisa executar um cliente rsync e um servidor rsync?

  4. Ao listar os arquivos de origem em vez de copiá-los, se a origem estiver em um host remoto, o host remoto precisará executar o rsync como um servidor ou daemon?

  5. Quais casos de uso "Observe que o rsync deve ser instalado nas máquinas de origem e destino" se aplicam e não se aplicam a, respectivamente?

  6. Na parte GERAL, msgstr "um servidor pode ser um daemon ou um processo gerado por shell remoto". Um host remoto executando o rsync como um servidor como "um processo gerado por shell remoto" significa que o host remoto executa o rsync da mesma maneira que o host local executa o rsync?

Observe que os hosts de origem e destino podem ser hosts locais ou remotos.

    
por Tim 23.01.2017 / 02:47

1 resposta

6

Quando se trata de rsync, pense em client e server como funções, que o mesmo binário rsync pode preencher. Quando ele está sendo executado como um daemon, você constrói um arquivo rsyncd.conf e executa o rsync com o argumento --daemon .

Um binário rsync pode se conectar a outro binário remoto (remoto) rsync diretamente - se o rsync estiver rodando como um daemon escutando suas próprias conexões em um host remoto, ou via shell remoto - onde o rsync usa ssh para se conectar a um remoto hospedar e executar o binário rsync nesse host, com ambos os processos rsync passando dados entre si.

Espero que você responda suas perguntas:

  1. When transferring files between local and remote by accessing via rsync daemon, is the remote host required to run rsync as a daemon?

    • Sim. Se você for acessar um daemon do rsync, esse daemon deve estar em execução.
  2. When transferring files between local and remote by accessing via a remote shell, does the remote host need to run rsync? If yes, does the remote host run rsync as a server but not as a daemon, or just as the local host runs rsync as a client?

    • Sim. Quando rsync precisa estar disponível em ambos os hosts, seja no $ PATH padrão, ou com o caminho completo para o binário especificado nas opções de comando.
  3. When transferring files within the local host, does the local host need to run a rsync client and a rsync server?

    • Não. O binário do cliente rsync pode funcionar como ambas as funções ao mesmo tempo, se os caminhos SRC e DEST estiverem disponíveis localmente.
  4. When listing the source files instead of copying, if the source is in a remote host, does the remote host need to run rsync as a server or daemon?

    • Não, não é necessário executar um daemon rsync, um cliente remoto pode ser acionado se você usar rsync -e ssh para acessar rsync (o cliente) no host remoto. (O rsync com shell remoto em Q 6.)
  5. Which use cases does "Note that rsync must be installed on both the source and destination machines" apply to, and not apply to, respectively?

    • O binário rsync deve estar instalado em ambas as máquinas. No caso em que o SRC e o DEST são a mesma máquina, o binário rsync solitário executará essencialmente ambas as funções.
  6. In the GENERAL part, "a server can be either a daemon or a remote-shell spawned process". Does a remote host running rsync as a server as "a remote-shell spawned process" mean that the remote host runs rsync in the same way as the local host runs rsync?

    • Sim. Efetivamente. O único item importante é que a sessão rsync gerada remotamente está cumprindo a função do servidor.
por 23.01.2017 / 04:59

Tags