InicioLinuxqueres hacer TU dropbox con GNU ?
Hola,
ayer quise adentrarme en el tema dropbox, todos hablan de eso en todos lados, asi que me quería enterar que joraca era. Resulta que Dropbox es FABULOSO !, anda de 10, anda con Linux - Windows - MAC indistintamente, tiene LAN Sync y te respalda todo en la web. Encima te da la posibilidad de tener una carpeta Pública !!!. Realmente es un sueño hecho realidad... pero... no me gusta para el uso que yo le daría que tenga que subir todo a un servidor del cual no se nada y con la promesa que con mi clave todo esta a resguardo. Además de enfrentar problemas legales si se comparte contenido restringido.

Entonces hice como Pablo Sandoval y me puse a pensar, y luego me di cuenta que hay muchos tipos que piensan en el mundo y a alguno seguro se le habia ocurrido hacer algo como lo que yo quería. Asi que le di al google y encontré la papa:

Gracias! al muchacho que lo publicó aca:

y para los que no saben ingles, o quieren hacerla corta, el tutorial:

Pero primero, para que sirve esto:

Nos mantiene dos directorios sincronizados casi en tiempo real con rsync, nada más.
rsync es un programa de esos SUPERprogramas de unix que copia contenido en base a las diferencias entre origen y destino, y lo hace comprimiendolo, asi que necesitamos menos ancho de banda que simplemente copiando los archivos.
Lo canalizamos por ssh o Secure Shell, para tener seguridad.
y se encarga de explotar la funcionalidad del kernel de linux llamada que reporta cuando se altera un archivo dentro del sistema. Entonces, cuando inotify reporta el cambio, lsyncd usa rsync para "homogeneizar" el contenido en los directorios remotos (o no), sincronizando el contenido en ambos.
De este modo, tenemos sincronizados nuestros directorios entre, por ejemplo, la netbook y la desktop y la notebook y el servidor de archivos, y lo que quieran que use linux.

y segundo, para que NO sirve esto:
No sube el contenido a Internet, si lo quieren publicar como hacen con dropbox se instalan un server FTP o HTTP en una de las compus que usan para tal fin, y listo... Pero mejor usen dropbox y se ahoran todo.

Ahora si, el Tutorial:

1 - instalar OPENssh , Rsync y Lsyncd

segun su distro, openssh y rsync, seguro estan disponibles con un "apt-get install openssh rsync", o en mi caso (uso archlinux) pacman -S openssh rsync y es muuy probable que ya los tengan instalados.
levanten el server ssh, porque sino, no van a poder usar el resto. Lo agregan a la lista de DAEMONS en el /etc/rc.conf (en archlinux) como sshd y en el resto, averigüen como. Asi inicia siempre con el sistema.
No voy a explicarles como configurarlo, porque para eso hay mucha info en las wiki de cada distro y en miles de sitios más.

ahora, como queremos que esto sea lo mas "manos libres" posible, creamos autenticaciones con certificados RSA con:
$ ssh-keygen -b 2048 -f ~/.ssh/id_rsa -P ''

que crea las llaves publicas y privadas en nuestro home.

y luego las copiamos a las otras computadoras a conectarse con:

$ssh-copy-id [email protected]

donde reemplazan "usuario" por el usuario remoto de la otra computadora y "equipo.remoto" con la ip direccion del equipo remoto (usen dyndns si quieren que funcione por internet)

para instalar lsyncd, siguen las instrucciones de la página para compilarlo, en archlinux tenemos un paquete en AUR asi que con un "yaourt -S lsyncd" estamos hechos... casi, porque no nos crea un archivo de configuración.

ejecutan:
$ lsyncd --debug

y si les tira un error de "no encuentro el archivo de configuración /etc/lsyncd/lsyncd.conf.xml", o algo asi, crean el directorio y el archivo COMO ROOT.

y, COMO ROOT, editan el contenido haciendo que se parezca a esto:
/etc/lsyncd/lsyncd.conf.xml dijo:


<lsyncd version="1.25">
<settings>
<logfile filename="/var/log/lsyncd"/>
<!--Specify the rsync (or other) binary to call-->
<binary filename="/usr/bin/rsync"/>
<!--uncomment to create a file containing pid of the daemon-->
<!--pidfile filename="/tmp/pid"/-->
<!--this specifies the arguments handled to the rsync (or other) binary.
option is the default literal. only '%r' will be replaced with r when recursive
operation is wanted, d when not. exclude file will be replaced with -exclude-from FILE
source will be the source path to sync from destination will be the
destination path to sync to -->
<callopts>
<option text="-lt%r"/>
<option text="--delete"/>
<!-- <exclude -file/> -->
<source />
<destination />
</callopts>
</settings>
<directory>
<source path="/home/USUARIO/Compartido"/>
<target path="USUARIO2@EQUIPO2::/home/USUARIO2/Compartido"/>
<!-- or it can also be an absolute path for localhost
<target path="/absolute/path/to/target"> -->
</directory>
</lsyncd>



y voilá, ponen en USUARIO su nombre de usuario; y en USUARIO2 el nombre del usuario a sincronizar en el equipo2 (si es el mismo nombre, se puede omitir hasta la @) , y en EQUIPO2 ponen la ip o direccion del otro equipo.

revisen sus hosts.allow y hosts.deny
abran sus puertos 22 (o los que hayan elegido para el server ssh)
ejecuten: "lsyncd" cuando quieran y en los equipos que quieran sincronizar.

Creo que eso es todo.

Salu2
Datos archivados del Taringa! original
0puntos
1,929visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

s
Usuario
Puntos0
Posts37
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.