Me gustaríaUn caminosincronizar un directorio grande entre dos máquinas sin conexión directa. Ya sea utilizando algún almacenamiento en la nube (sin potencia informática) conectado a ambas máquinas o un dispositivo de almacenamiento intermedio (como un disco duro, una unidad flash, no otra máquina) que se pueda conectar a las máquinas alternativamente.
Lo que es importante tener en cuenta es que no hay suficiente espacio en el almacenamiento intermedio para toda la carpeta, aunque sí suficiente para transferir el archivo más grande.
Me imagino que el flujo será:
- En la máquina de destino: cree una instantánea de la carpeta de destino y colóquela en un almacenamiento compartido.
- En la máquina fuente: compare la estructura de la carpeta de origen con la instantánea del almacenamiento compartido y coloque todos los archivos faltantes con metainformación en el almacenamiento compartido (limitado por el espacio disponible en el almacenamiento compartido).
- En la máquina de destino: copie archivos del almacenamiento compartido e indique si el flujo debe repetirse.
¿Existe ya una solución para hacer algo como esto desde el shell de macOS/Linux?
Respuesta1
Solo usasincronizaciónen el dispositivo intermedio.
Rsync es perfecto para una tarea como esta: convierta el origen en la máquina de origen y el destino en la máquina de destino y listo.
El comando sería algo como esto:
rsync -avz user@source_machine.local:/source/directory/ user@destination_machine.local:/destination/directory/
Esto debería funcionar sin preocuparse por la sobrecarga de almacenamiento en la máquina intermedia ya que, cuando se usa Rsync, todo se convierte en una tarea de red que solo utiliza CPU y recursos de red en esa máquina intermedia.
Pero ambas opciones requieren que las máquinas de origen y de destino tengan algún tipo de sistema operativo ejecutándose. Una única pieza de almacenamiento “tonto” basada en la nube o un simple dispositivo de almacenamiento externo como una unidad flash USB no se pueden “unir” sin algún sistema operativo entre ellos.
En última instancia, necesitas un sistema operativo en ambos lados de la ecuación. Y tal vez un dispositivo intermedio pueda montar el dispositivo en la nube y luego montar el dispositivo de almacenamiento externo como una unidad flash USB y luego puede simplemente ejecutar Rsync y listo.