La forma más rápida de copiar archivos pequeños a través de una red segura sin tener en cuenta los tiempos o el tamaño de modificación del archivo

La forma más rápida de copiar archivos pequeños a través de una red segura sin tener en cuenta los tiempos o el tamaño de modificación del archivo

Quiero sincronizar archivos en dir1 y dir2 (dos servidores diferentes).

No me importa si los tamaños de los archivos o los tiempos de modificación difieren.

EJEMPLO: dir1 contiene archivo1, archivo2, archivo3, archivo4 y dir2 contiene archivo2, archivo3, archivo5

Quiero que el archivo 5 se copie en el directorio 1 y el archivo 1 y el archivo 4 se copien en el directorio 2.

Tenga en cuenta que los tamaños del archivo 2 difieren, al igual que los tiempos de modificación del archivo 3, pero no me importa. Mi red también es privada, por lo que no quiero ningún problema de seguridad.

Cual seria mas rapido:

¿rsync, scp o cp sobre montaje NFS? Y, precisamente, ¿cuál es la línea de comando correspondiente?

Respuesta1

Es en gran medida académico, porque lo más probable es que su factor limitante sea el ancho de banda de su red. En realidad, lo único que hay que tener en cuenta es el tamaño de los archivos frente al número de operaciones: muchos archivos pequeños darán como resultado muchas operaciones de copia pequeñas.

Pero tal como están las cosas, es difícil decir con seguridad qué será "más rápido" porque "depende".

Me sorprendería saber que ha tenido muchos problemas con rsync, por la sencilla razón de que comprobará si necesita hacer algo antes de realizar cualquier copia. No hay mucho más eficiente que no copiar cosas que no necesitas.

Si tiene muchos archivos pequeños, es posible que tarlo haga mejor: tarestá diseñado para escribir en cintas, por lo que es bastante bueno para transmitir una estructura de directorios a través de una red. p.ej

tar cvfz - ./path_to_copy | ssh $remotehost "( cd $destination && tar xvfz - )"

información relacionada