GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo sincronizar archivos entre dos controles remotos?

Me gustaría transferir archivos entre dos hosts remotos utilizando un shell local, pero parece que rsync no admite la sincronización si se especifican dos remotos de la siguiente manera:

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

¿Qué otras soluciones/comandos podría usar para lograr resultados similares?

Respuesta aceptada:

Como ha descubierto, no puede usar rsync con una fuente remota y un destino remoto. Suponiendo que los dos servidores no puedan comunicarse directamente entre sí, es posible usar ssh para hacer un túnel a través de su máquina local.

En lugar de

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

puedes usar esto

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

En caso de que te lo estés preguntando, el -R La opción configura un canal inverso desde el puerto 50000 en el host1 que se asigna (a través de su máquina local) al puerto 22 en el host2. No hay conexión directa de host1 a host2.


Linux
  1. ¿La diferencia entre /opt y /usr/local?

  2. Cómo mover /usr y /var a otra partición o disco

  3. ¿Cómo administro /var/www?

  4. ¿Cómo reiniciar archivos /var/lib/mysql?

  5. ¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?

Cómo transferir archivos entre dos computadoras usando los comandos nc y pv

Cómo Rsync archivos entre dos servidores Linux automáticamente

¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

¿Cómo silenciar selectivamente Rsync?

Cómo usar Rsync para copiar/sincronizar archivos entre servidores

Cómo copiar una gran cantidad de archivos rápidamente entre dos servidores