¿Cómo mover el directorio de un servidor a otro?

10

Tengo acceso SSH a ambos servidores, uno de ellos está vacío. ¿Cómo puedo mover el directorio del sitio del servidor antiguo al nuevo servidor a través de la conexión SSH?

PD: en ambos servidores es unix

ajile
fuente

Respuestas:

15

Mi favorito es rsync. Es lo suficientemente inteligente como para copiar solo lo que tiene que copiarse (es decir, modificado o nuevo).

rsync -avz /source/path user@desthost:/destination/path/

Tenga en cuenta el final /al final para pedirle a rsync que copie dentro de esa ruta (no sobre ella).
rsyncse encarga de administrar la conexión ssh por usted. Las avzopciones (típicas) solicitan rsyncusar el modo de archivo (tar), para copiar de forma recursiva y mantener la mayor cantidad posible de valores de fecha y usuario. La vopción es detallada para mostrarle lo que está sucediendo actualmente. La zopción comprimirá (comprimirá) la transferencia para, con suerte, ahorrar tiempo y ancho de banda.

rsync es muy potente y es utilizado por la mayoría de los profesionales, sin embargo, es posible que desee probarlo primero utilizando datos no valiosos para garantizar que la ruta y las opciones coincidan con los requisitos.

Si necesita usar rsync a través de SSH en un puerto no estándar como 2222, puede usar el siguiente comando ( consulte este artículo ):

rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/
Ø de anillo
fuente
Creo que rsync es una mejor solución que ssh por la razón que ha dado ring0, es decir, solo copia lo que necesita ser copiado. Entonces, si necesita hacer esto más de una vez, rsync le dará una ventaja sobre el scp directo.
Jason Tan
1
rsync es definitivamente la herramienta. Pero sobre la barra diagonal final: esto es importante para la fuente, no para el destino: rsync -a / src / / dest copia todo bajo src en dest, rsync -a / src / dest copia src y todo lo que está debajo en dest / src / .
Oscar