Dende esta páxina puedes compartir y guardar Sincronización bidireicional de ficheros nuna rede llocal nel to marcador social preferíu, o mandalo por corréu electrónicu a los tos collacios.

Marcadores sociales

con un collaciu

Mandar corréu electrónicu
22 de Payares de 2012

Sincronización bidireicional de ficheros nuna rede llocal

Etiquetes: Programes,Tutoriales

Tan mui de moda los servicios de sincronización de ficheros al travies de la ñube (forma “cool” de dicir sirvidores), ente otros tenemos Dropbox o Ubuntu One. Son servicios mui cómodos que val pa sincronizar equipos remotos facilmente gracies a internet, sicasí namás que valen pa pequeños ficheros o semeyes, porque cuando queremos sincronizar grandes cantidaes de datos (falamos de munchos GB o TB) internet nun ye’l meyor mediu pa facelu nun país con una coneutivida tan probe onde los que venden “ventayes de la fibra óptica” llévente a casa un cable coaxal…

Si los equipos a sincronizar tan nuna rede llocal Unison (y SSH) ye una solución, rápida y fácil.

Pa esplicar facilmente el procesu, vamos dicir que queremos sincronizar PC1 (dende onde llanzaremos les sincornizaciones) y PC2

Asumimos que los equipos tienen IP fixa (nun voi esplicar esto) y la sincronizción ye ente ficheros d’ún único usuariu.

Les IP ficticies que vamos usar son: PC1 -> 111.111.111.111. y PC2 -> 222.222.222.222

El usuariu llámase “usuariu” (orixinal)

Tendréis que cambiar estos datos polos vuesos.

Instalamos ssh y unison tanto en PC1 como en PC2

$sudo apt-get install unison ssh

Pa más comodidá vamos instalar una GUI en PC1 cola que fadremos un perfil de sincronización

$sudo apt-get installl unison-gtk

Agora abrimos l’aplicación, en PC1, y saldrános una venta pa crear el perfil, calcamos en amestar metemos los datos que nos pide, primero un nome de perfil y depués en “Synchronization kind:” esbillamos “Using SSH” en “Host:” ponemos la IP de PC2 “222.222.222.222″ y en “User:” ponemos “usuariu”, y marcamos “Enable compression” pa que tresfiera los ficheros comprimidos.

Nel siguiente paso esbillamos los directorios en llocal “usuariu” (por exemplu) y en remotu “/home/usuariu”.

Si les sincronizaciones les faes con sistemes FAT esbilla la opción “Synchronization involving a FAT partition” (nun ye’l casu, pero ye util si quies sincronizar el to equipu con un llápiz USB por exemplu)

Cuando acabes tendremos algo asemeyáu a esto:

Calcamos en “Abrir” pedirános la clave d’usuariu y restolará a la gueta de diferencies, comprobamos les direiciones de la sincronización y calcamos “Go” pa sincronizar por primera vez.

Con esto ya podríamos sincronizalos, pero vamos automatizalu un poco… podemos executar unison dende cron, pero yo preferí facelo namás cuando anicio sesión, y calcando nun llanzador. Opciones que vamos dar nos dos equipos.

Lo primero que vamos facer ye editar /etc/hosts pa nun tener que andar escribiendo les IP a cada poco, executamos:

$ sudo nano /etc/hosts

o

$ sudo gedit /etc/hosts

y ponemos en PC1 “PC2       222.222.222.222″

y en PC2 “PC1       111.111.111.111″

Agora pa SSH nos identifique automaticamente creamos claves públiques y privaes con:

$ ssh-keygen

Ponemos una clave pa protexela (si queremos) y les copiamos a cada máquina,

en PC1

$ ssh-copy-id usuariu@PC2

en PC2

$ ssh-copy-id usuariu@PC1

Estes órdenes serán les últimes nes que tendremos de dar la clave d’usuariu.

Agora pa automatizar la sincronización, y controlala facemos estos scripts col nome “sincronizar”,

En PC1

#!/bin/sh
HOST_REMOTU=PC2
USUARIU=usuariu
#comprobamos si l’equipu remotu ta conectáu
ping -c 1 $HOST_REMOTU
#si ta conectáu entrugamos si quies sincronizar
if [ $? -ne 1 ]; then
zenity –question –title=”¿Sincronizar?” –text=”¿Quies sincronizar los equipos agora?”
REMPUESTA=$?
#Si la rempuesta ye que sí, sincronizamos y avisamos al acabar
if [ $REMPUESTA -eq 0  ] ; then
unison -auto -batch
zenity –info –title=”Sincronización completa” –text=”Completóse la sincronización, yá puedes apagar l’equipu.”
fi
fi

En PC2

#!/bin/sh
HOST_REMOTU=PC1
USUARIU=usuariu
#comprobamos si l’equipu remotu ta conectáu
ping -c 1 $HOST_REMOTU
#si ta conectáu entrugamos si quies sincronizar
if [ $? -ne 1 ]; then
zenity –question –title=”¿Sincronizar?” –text=”¿Quies sincronizar los equipos agora?”
REMPUESTA=$?
#Si la rempuesta ye que sí, sincronizamos y avisamos al acabar
if [ $REMPUESTA -eq 0  ] ; then
ssh $USUARIU@$HOST_REMOTU unison -auto -batch
zenity –info –title=”Sincronización completa” –text=”Completóse la sincronización, yá puedes apagar l’equipu.”
fi
fi

Copiamos los ficheros onde no molesten (onde nun tean sincronizaos o poniendo-yos nomes distintos) y damos-yos permisos d’execución.

Agora vamos al menú d’apagáu del equipu y calcamos en “Aplicaciones nel aniciu” y amestamos los nuesos scripts, así cada vez qu’aniciemos sesión si l’otru equipu ta conectáu entrugarános si queremos sincronizalos o non.

Pa executar los scripts manualmente podemos facer un llanzador, necesitaremos instalar gnome-panel (pero ensin gnome) pa eso usamos esti comando:

$ sudo apt-get install –no-install-recommends gnome-panel

Y pa facer un llanzador nel escritoriu (por exemplu) ponemos

$gnome-desktop-item-edit ~/Escritoriu/ –create-new

Ponemos-y la ruta del script y a correr, calcando nel llanzador podremos sincronizar los equipos. Yo fice el llanzador na carpeta onde meto tolos scripts y depués arrastelu a la barra de llanzadores de Unity.


Tornar a Sincronización bidireicional de ficheros nuna rede llocal