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
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).
rsync
se encarga de administrar la conexión ssh por usted. Las avz
opciones (típicas) solicitan rsync
usar el modo de archivo (tar), para copiar de forma recursiva y mantener la mayor cantidad posible de valores de fecha y usuario. La v
opción es detallada para mostrarle lo que está sucediendo actualmente. La z
opció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/
Estás buscando una tubería de alquitrán .
fuente
Escribí una respuesta que funciona bien en otra pregunta. Utiliza SSH-Agent para mover un volcado de mysql: la forma más rápida de mover múltiples bases de datos a un nuevo servidor
Combina esto con la respuesta de jscott
fuente