¿La forma más sencilla de transferir archivos rápidamente entre servidores Linux?

¿La forma más sencilla de transferir archivos rápidamente entre servidores Linux?

Necesito transferir archivos de un servidor CentOS a otro. Transferirá archivos de 5 MB aproximadamente cada 10 minutos. No necesita cifrado.

¿Qué es fácil para una transferencia rápida de archivos?

¿Existe algo más sencillo que ftp?

¡Gracias!

Respuesta1

sincronización

Usaría rsync antes de usar ftp o tftp.

Más opciones y (en mi experiencia) transferencias más confiables.

Respuesta2

tar sobre ssh está bien, pero tar sobre TCP a través de netcat tiene la sobrecarga más baja posible. Si esto es algo único, inténtalo:

En el receptor:

nc -l -p 8989 | tar x

Sobre el remitente:

tar cf - /source-path | nc (receiving host ip address) 8989

Si esto es algo que vas a hacer con regularidad, probablemente usaría rsync.

Respuesta3

Dos personas mencionaron tar en lugar de ssh, pero no dijeron cómo hacerlo. Para que conste, el procedimiento básico es ejecutar:

tar cf - files... | ssh remotehost 'cd /destination && tar xvf -'

O, si desea iniciar transferencias desde el extremo receptor:

ssh remotehost 'cd /source && tar cf - files' | tar xvf -

La ventaja de hacerlo de esta manera sobre la solución netcat de Evan es que todo se puede iniciar desde una computadora; no es necesario coordinar dos invocaciones de netcat. Si necesita que esto se ejecute automáticamente, puede configurar una clave ssh que le permita realizar conexiones sin una frase de contraseña y usar esa clave para estas conexiones.

ssh tiene una opción -C para comprimir su flujo de datos, o puedes usar la capacidad de compresión incorporada de GNU tar:

tar zcf - files... | ssh remotehost 'cd /destination && tar xzvf -'

Rsync es otra opción, pero su punto fuerte es la actualización de archivos que ya existen en el extremo receptor. Descubrí que es más lento que scp o tar/ssh cuando lo uso para transferir archivos que aún no existen en el otro extremo.

Respuesta4

Si tiene que pasar por scp/ssh, mis experimentos muestran que el cifrado más rápido habilitado de forma predeterminada en estos días es RC4. Usted especifica el cifrado a través de '-c arcocuatro' en tu comando ssh/scp:

para copia inicial:

  • scp -c arcfour -r foo/ desthost:/destdir

para actualizaciones:

  • rsync -e 'ssh -c arcfour' -r foo/ desthost:/destdir

información relacionada