linux – ¿Cómo sincronizar la carpeta de inicio entre varias computadoras?

Pregunta:

Tengo tres computadoras en casa y me gustaría sincronizar el árbol de carpetas /home/ entre las tres.
Todos los archivos / carpetas (excepto los ocultos) que se modifican / agregan / eliminan en una de las tres computadoras se actualizan en las otras dos.

¿Es rsync suficiente para hacer esto? ¿y cómo?

Respuesta:

Aquí hay una lista de cosas que podrían potencialmente resolver este problema, cada una equilibra las compensaciones que tiene que hacer de manera diferente, por lo que tendrá que tomar sus propias decisiones y probar las cosas por sí mismo:

  • Unison : como lo mencionaron otros, esto se ejecuta manualmente, pero es muy rápido, confiable y efectivo. Requiere que ambas máquinas estén sincronizadas para estar encendidas al mismo tiempo. Tiene una interfaz de usuario agradable que le permite lidiar con los conflictos casi inevitables y rastrea y propaga las deleciones correctamente. La aplicación / paquete gráfico se llama unison-gtk.

  • OwnCloud : el almacenamiento en la nube se ejecuta en su propio servidor. Necesitará una máquina para dejar encendida. Requiere una cantidad razonable de configuración. Ejecuta un servidor web Apache 2 completo y una base de datos SqlLite o MySQL en el servidor. Funciona de manera similar a Dropbox con un cliente de escritorio, pero el servidor está bajo su control. editar: OwnCloud ha pasado recientemente por algunos cambios en la forma en que se ejecuta el proyecto, y ahora tiene un nuevo código completamente abierto (es decir, sin una edición 'empresarial' de código cerrado) bajo la apariencia de NextCloud , (vea esta entrevista de YouTube con el desarrollador de OwnCloud original para más detalles).

  • SparkleShare : usa git para mantener los archivos sincronizados. Según la página de inicio: bueno para muchos archivos más pequeños, no bueno para muchos archivos grandes como música o colección de fotos.

  • Seafile : proporciona un componente de servidor que puede instalar en una máquina local. Seafile usa un modelo de datos similar a git para rastrear cambios. Proporciona clientes de sincronización para computadoras de escritorio, tabletas y teléfonos inteligentes. Se puede encontrar una publicación de blog que describe la configuración en http://openswitch.org/blog/2013/07/18/installing-and-configuring-seafile-on-ubuntu-12-dot-04/

  • Osync – "… herramienta de sincronización de archivos bidireccional escrita en bash y basada en rsync. Funciona en directorios locales y / o remotos a través de túneles ssh. Su objetivo principal es ser lanzado como tarea cron" (texto del sitio web)

  • PowerFolder : proyecto GPL v2 basado en java. El sitio web principal impulsa las ofertas comerciales, por lo que no está claro cómo usar el archivo .jar proporcionado.

  • Rsync : rápido y efectivo y existe desde hace décadas, sin embargo, no mantiene un historial, por lo que debe elegir una dirección para decidir si un archivo es nuevo o eliminado. Hay herramientas gráficas disponibles como gwRsync .

  • Lsyncd : supervisa carpetas / archivos para activar la replicación de rsync

  • dvcs-autosync : escrito en python, usa git para almacenar y compartir cambios entre máquinas y XMPP para comunicar cambios.

  • git-Annex : herramienta de línea de comandos para desviar archivos, basada en git. Hay un tutorial ilustrativo aquí: http://git-annex.branchable.com/walkthrough/

  • Tonido : software gratuito. Proporciona una aplicación de escritorio que compartirá archivos con otros dispositivos. También proporcione ofertas comerciales en la nube y la computadora con enchufe TonidoPlug.

  • BitTorrent Sync (software gratuito): sincronización de archivos de igual a igual basada en BitTorrent. No sé mucho sobre esto ya que no lo usaré debido a que no es de código abierto y no confío en que mantenga mis datos dentro de mi LAN, siéntase libre de editar esta respuesta con mejor información / experiencias reales.

  • SyncThing : desarrollado como una alternativa de código abierto a BitTorrent Sync. Actualmente carece de algunas de las funciones avanzadas de BitTorrent Sync, como los pares que no son de confianza. Está en desarrollo activo.

  • Los servicios comerciales alojados como dropbox, ubuntu one, google drive, apple iCloud son todos rápidos, económicos y convenientes, sin embargo, todos requieren confiar en una empresa con todos sus datos y una conexión a Internet razonablemente rápida.

  • Git / subversion : use un sistema de control de fuente directamente. Completamente manual y puede ser un enfoque un poco complejo pero popular entre algunos usuarios familiarizados con estos sistemas al usarlos como herramientas de programación.

  • CloudFS : sincronice un sistema de archivos completo, basado en tecnología de clúster

  • Montaje NFS: básicamente, su hogar vive en una máquina y accede a ella a través de la red, no es bueno para las computadoras portátiles que lleva consigo. Más información: http://www.linuxjournal.com/article/4880


Factores a considerar al tomar su decisión:

  • Servidor central: algunas soluciones requieren que una máquina esté encendida todo el tiempo (o al menos cuando necesite sincronizar) para que otras máquinas se sincronicen. Esta podría ser una de sus máquinas existentes o una máquina separada como un NAS. Tenga cuidado con el aumento de las facturas de energía.

  • Automático / Manual / Programado: la mejor manera de evitar tener que resolver conflictos en los que algo se cambia en más de una máquina es tener un programa en cada máquina que observe los cambios y se sincronice inmediatamente, de esta manera reduce la oportunidad de terminar con múltiples versiones. Con los procesos manuales, siempre debe recordar ejecutar la sincronización.

  • Acceso remoto: ¿desea sincronizar fuera de su LAN (también conocido como hogar)? Piense en las implicaciones de seguridad de esto.

  • Seguridad: ¿sus datos dejan su red encriptada o no? ¿Qué tan segura es la transferencia entre máquinas? ¿Qué pasa si alguien captura sus datos en movimiento y luego se descubre que el cifrado tiene fallas? ¿Quién controla el servidor que guarda sus datos? ¿Los datos están cifrados? ¿Puede confiar en terceros? ¿Tiene que hacer agujeros en su enrutador para obtener acceso remoto? ¿Cuánto tiempo permanecen los archivos 'eliminados' y los metadatos relacionados en los dispositivos sincronizados y en el servidor central? ¿Está sincronizando entre almacenamiento cifrado y no cifrado?

  • Mover carpetas grandes: todas las soluciones que probé tienen el problema de que cuando mueve / cambia el nombre de un archivo o carpeta, la sincronización no lo entiende y lo carga de nuevo como nuevo y luego elimina la copia anterior.

  • Capacidad de disco

  • Copias de seguridad: la sincronización no es una copia de seguridad. Elimine un archivo importante por error y muchos de los anteriores eliminarán alegremente todas sus otras copias. Recomiendo leer el artículo de Mat Honan sobre ser pirateado para tener una buena descripción de lo que puede suceder si pones todos tus huevos digitales en una canasta digital, por así decirlo.


Recomiendo no sincronizar toda la carpeta de inicio, sino elegir carpetas específicas para sincronizar como Documents/ , Pictures/ etc. Esto evitará el dolor de tener que lidiar con los problemas de velocidad / rendimiento / espacio en disco de sincronizar todo automáticamente. También evita tener que mantener listas de exclusión.

A medida que continúe tratando de encontrar algo que funcione para mí personalmente, intentaré mantener esta respuesta actualizada con información útil. He agregado la información de todas las demás respuestas en una respuesta completa.

Referencias:

  • LinuxFormat: febrero de 2014 LXF180 p31, "Resumen de almacenamiento alojado"

hackeo / todo /

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım