Risposte:
Supponendo che non sia necessario considerare il rsync
protocollo stesso, questo dipende dalle opzioni di compilazione utilizzate per la versione di rsync
.
In passato era il caso che rsync
utilizzava il rsh
protocollo per impostazione predefinita (a meno che il valore predefinito di build-time non fosse stato modificato), ma il valore predefinito di build-time è cambiato in ssh
nel 2004.
In caso di dubbi, avviare il rsync
processo di trasferimento di un file (o raccolta di file) relativamente grande e in un'altra esecuzione del terminale ps -ef | grep [r]sync
. Questo ti mostrerà se stai usando o meno ssh
per un trasporto. Ecco un esempio da uno dei miei server, che mostra chiaramente il ssh
trasporto:
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 . .
Infine, tenere presente che l'impostazione predefinita della compilazione può essere sovrascritta con la RSYNC_RSH
variabile di ambiente. (Vedi la pagina man per ulteriori dettagli.)
-e
è per quando si desidera una shell remota diversa da quella predefinita ssh
. rsync
utilizza ssh
come trasporto per impostazione predefinita, ma può utilizzare qualsiasi shell remota (con un paio di restrizioni *), non importa come si connette a un server remoto.
* La shell remota che usi deve comportarsi come una shell. Deve interpretare il suo zeroesimo argomento come destinazione e ogni argomento successivo come comando da eseguire; il comando rsync passa sulla shell remota è un rsync --server …
comando che avvia un server rsync sull'estremità remota. Deve inoltre unire lo STDIN al di comando STDIN e del comando STDOUT a STDOUT , in modo che rsync e il server rsync possono comunicare attraverso la shell remota.