opção Rsync -e para ssh

0

Estou tentando descobrir se a opção -e é necessária? Eu não estou ssh-ing sem isso simplesmente fazendo user@server quando executando o rsync?

    
por eekfonky 26.09.2016 / 10:21

2 respostas

1

Supondo que você não precise considerar o protocolo rsync , isso depende das opções de compilação usadas para sua versão de rsync .

Costumava ser o caso em que rsync usava o protocolo rsh por padrão (a menos que o padrão de tempo de construção tivesse sido alterado), mas o padrão de tempo de construção foi alterado para ssh em 2004.

Se estiver em dúvida, inicie o processo rsync transferindo um arquivo relativamente grande (ou coleção de arquivos) e, em outro terminal, execute ps -ef | grep [r]sync . Isso mostrará se você está ou não usando ssh para um transporte. Aqui está um exemplo de um dos meus servidores, que mostra claramente o ssh transport:

root     28057 27173  1 09:48 pts/4    00:00:00 rsync -avHP --dry-run /home roaima@otherserver:
root     28058 28057  0 09:48 pts/4    00:00:00 ssh -l roaima otherserver rsync --server -vnlHogDtpre.iLsfx --partial . .

Por fim, esteja ciente de que o padrão de compilação pode ser substituído pela variável de ambiente RSYNC_RSH . (Veja a man page para mais detalhes.)

    
por 26.09.2016 / 10:51
0

-e é para quando você deseja um shell remoto diferente de , o padrão ssh . rsync usa ssh como transporte por padrão, mas pode usar qualquer shell remoto (com algumas restrições *), não importa como ele se conecta a um servidor remoto.

* O shell remoto que você usa deve se comportar como um shell. Ele deve interpretar seu argumento zeroeth como o destino e cada argumento a seguir como um comando para executar; o comando que o rsync transmite pelo shell remoto é um comando rsync --server … , que inicia um servidor rsync no terminal remoto. Ele também deve anexar seu STDIN ao comando STDIN , e o comando STDOUT ao STDOUT , para que o rsync e o o servidor rsync pode se comunicar através do shell remoto.

    
por 26.09.2016 / 10:50

Tags