GNU/Linux >> Linux Esercitazione >  >> Linux

Come sincronizzare i file tra due telecomandi?

Vorrei trasferire file tra due host remoti utilizzando la shell locale, ma sembra che rsync non supporti la sincronizzazione se due remoti sono specificati come segue:

$ rsync -vuar host1:/var/www host2:/var/www
The source and destination cannot both be remote.

Quali altre soluzioni alternative/comandi potrei utilizzare per ottenere risultati simili?

Risposta accettata:

Come hai scoperto, non puoi usare rsync con una sorgente remota e una destinazione remota. Supponendo che i due server non possano parlare direttamente tra loro, è possibile utilizzare ssh per eseguire il tunneling tramite il computer locale.

Invece di

rsync -vuar host1:/var/www host2:/var/www

puoi usare questo

ssh -R localhost:50000:host2:22 host1 'rsync -e "ssh -p 50000" -vuar /var/www localhost:/var/www'

Nel caso ve lo stiate chiedendo, il -R l'opzione imposta un canale inverso dalla porta 50000 su host1 che mappa (tramite la tua macchina locale) alla porta 22 su host2. Non esiste una connessione diretta da host1 a host2.


Linux
  1. Come trasferire file tra due computer utilizzando i comandi nc e pv

  2. Linux:come eliminare i file creati tra due volte?

  3. Differenza tra /var/log/messages, /var/log/syslog e /var/log/kern.log?

  4. Come spostare /usr e /var su un'altra partizione o disco

  5. Come ottenere la differenza (solo aggiunte) tra due file in Linux

Come sincronizzare automaticamente i file tra due server Linux

Come utilizzare Rsync per copiare/sincronizzare file tra server

Django static_root in /var/www/... - nessuna autorizzazione a collectstatic

Come posso amministrare /var/www?

Come eliminare i file creati tra due volte?

Come copiare rapidamente un gran numero di file tra due server