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


Marcadores sociales