¿Cómo sincronizar archivos / datos entre dos PC en una red doméstica?

11

Tengo una computadora de escritorio y una computadora portátil con casi los mismos archivos dentro de su directorio de inicio. A veces hago cambios en ~/Music, ~/Documentsetc. Pero estos cambios, por supuesto, no afectan a la otra máquina.

Así que quiero tener una solución para sincronizar todos los datos en las carpetas de inicio de mi computadora portátil y de escritorio. Puedo conectarlos con cable cruzado de vez en cuando.

No quiero usar Ubuntu One o Dropbox (los archivos son grandes y no es necesario usar Internet cuando ambos están en una red doméstica).

Gaurav Butola
fuente
Dropbox también ofrece sincronización de red, por lo que tal vez no sea necesariamente la herramienta incorrecta.
turbo

Respuestas:

8

Para un pequeño conjunto de archivos, sugeriría Dropbox o Ubuntu One , pero parece que desea sincronizar su colección de música entre computadoras, y ninguno de estos es particularmente adecuado para eso por dos razones:

  • Ambos se sincronizan con Internet, lo que significa que las grandes colecciones de archivos tardarán mucho tiempo en descargarse y cargarse
  • Ofrecen una cantidad limitada de espacio (con la capacidad de comprar más), lo que significa que para una gran colección de archivos puede terminar teniendo que desembolsar mucho dinero

Unison , que es lo que uso para la replicación local, no tiene ninguna de estas limitaciones (inherentemente). Puede sincronizar a través de su red local, lo que significa que es rápido (también puede sincronizar a través de Internet si lo desea), y puede sincronizar todo lo que desee, solo limitado por su espacio en disco disponible y ancho de banda. Unison tiene una interfaz gráfica de usuario y una interfaz de terminal, lo que significa que puede usarla en su escritorio y servidor por igual. Hay una buena guía en el wiki de Ubuntu que puede consultar si elige usar Unison.

Iain Lane
fuente
1
Esto es exactamente lo que estoy buscando, pero hay un problema en él. Imgur.com/Apqbq.png otras personas también han tenido el mismo problema al unísono. ¿Conoces una solución?
Gaurav Butola 01 de
1
Hmm, no lo he visto yo mismo, pero encontré el siguiente error de Debian que quizás quieras vigilar: bugs.debian.org/cgi-bin/bugreport.cgi?bug=252336 - suena como un problema con El programa está siendo interrumpido. Intente y elimine el archivo que menciona y vuelva a intentarlo. Si es persistente, entonces puede tener más suerte con la versión de línea de comandos (esa es la que yo uso). Lo siento, no puedo ser de más ayuda.
Iain Lane,
Gracias por tu ayuda. Esto es exactamente lo que quería, es realmente una gran herramienta, estoy sincronizando mis datos a través de SSH usando Unison.
Gaurav Butola
7

La mejor herramienta para esto es la herramienta de línea de comandos "Rsync". Si necesita una GUI, pruebe Unison o LuckyBackup, que se basan en el concepto de Rsync. Unison y LuckyBackup están en los repositorios.

Un ejemplo de rsync podría ser:

rsync -vxtr / home / scaine / Pictures / / home / OtherUser / Pictures /

... que sincronizaría mi directorio de imágenes con el directorio de imágenes de otros usuarios. Las opciones que he especificado verificarán las copias, conservarán las marcas de tiempo / permisos durante la copia y recorrerán los subdirectorios donde se encuentren. Haga "man rsync" para más opciones.

En cuanto a la conexión de sus PC, colóquelas en un conmutador / hub o use el cable cruzado y luego comparta los directorios a través de samba.

EDITAR: Algunos buenos puntos para hacer si el objetivo es "reflejar" las dos PC. Este comando solo "agregará" archivos del origen al destino. Si necesita eliminar, entonces también necesitará la opción -delete.

En la investigación, parece que Rsync no maneja la duplicación particularmente bien. ¡Mira esto para darte cuenta de que probablemente encontrarás archivos más antiguos sobrescribiendo archivos más jóvenes durante esta actualización! Peor aún, incluso si obtiene la opción -update para trabajar y evita este comportamiento, no "actualizará" el archivo anterior con el más joven, simplemente lo "saltará". Apenas ideal.

Finalmente, para realizar una sincronización bidireccional, deberá ejecutar el mismo comando pero invertir el origen / destino. Por supuesto, esto es de uso limitado ahora, ya que su primer comando (suponiendo que haya usado esa opción -delete) habrá eliminado cualquier archivo en el destino que no existía en la fuente. Unison maneja la sincronización bidireccional bastante bien, desde la memoria.

Si está intentando seriamente mantener sincronizadas varias ediciones, entonces una solución de Dropbox es la mejor manera de avanzar. Si puede echar un vistazo a UbuntuOne o Dropbox, el enlace simbólico podría ser una solución: solo enlace simbólicamente su carpeta de documentos, digamos, mientras mantiene Imágenes y Música fuera de One / Dropbox y usa esta solución rsync / unison para las cosas grandes.

Scaine
fuente
Estaría sincronizando todo / hogar de ambos, ¿sería correcto correr? rsync -vxtr / home / user1 / home / user2 ¿haría una sincronización bidireccional? ¿Va a preservar la última copia editada de un documento o simplemente ignorará el archivo si existe?
Gaurav Butola
Vea mis ediciones a la pregunta original.
Scaine
1

Un par de alternativas basadas en GUI si no quieres o te gusta usar el terminal

grsync como el nombre implica una gui básica para rsync.

Unison Unison utiliza más backends alternativos que, grsyncpero aparte de eso, hacen lo mismo

Puede instalarlos desde el Centro de software o utilizando apt-get

Alano
fuente
0

Respuesta simple:

rsync -vzu [email protected]:/remote/dir/*  /local/dir

La opción -u compara fechas y solo transfiere si la fecha objetivo es anterior a la fecha de origen.

-v significa detallado, -z significa usar compresión.

Yan King Yin
fuente