Instalar Dropbox en un servidor sin GUI

Se me ocurren bastantes utilidades para instalar una cuenta de Dropbox en un servidor puro. Aclarar que ninguna de ellas pasaría por encima de las políticas de backups, Dropbox NO es para hacer copias de seguridad en servidores, al menos no para tomárselo en serio.

Sin embargo para compartir según qué tipo de configuraciones y/o archivos con otros equipos puede ser tan interesante como montar un repositorio (git, mercurial...). Para probar qué es más cómodo lo primero que hay que hacer es instalar Dropbox en un servidor (donde normalmente no hay ningún tipo de interfaz gráfica).[@MORE@]

Descargamos y descomprimimos la última versión del cliente de Dropbox para Linux, que es otro daemon más en nuestro sistema:

# wget -O dropbox.tar.gz http://www.dropbox.com/download/?plat=lnx.x86
# tar -zxof dropbox.tar.gz
# cd .dropbox-dist/

Ahora ya tenemos el daemon en nuestra máquina, lo siguiente será ejecutarlo por primera vez. El método de login es sencillo, este daemon nos dará una url a visitar donde tendremos que hacer login para que la máquina quede asociada a nuestra cuenta

# ./dropboxd 
Este cliente no estenlazado a ninguna cuenta...
Por favor visita https://www.dropbox.com/cli_link?host_id=d3223f433443&cl=es para enlazar a este equipo.

Una vez hemos hecho login ya tendremos la sincronización en marcha, por defecto en ~/Dropbox. Aquí ya tendríamos Dropbox funcional en nuestro sistema, sin embargo vamos a ir más allá. Interactuar con el sistema a base de comandos ./dropbox-dist/dropbox es un poco coñazo así que, como han pensado en todo, nos descargamos el cliente python que ataca al daemon que acabamos de instalar y ya tendremos el sistema un poco más usable:

# wget -P http://www.dropbox.com/download?dl=packages/dropbox.py
# chmod +x dropbox.py
# mv dropbox.py /usr/bin/
# dropbox.py status
Descargando 51.080 archivos (2,4 kB/s, quedan 99 ds)
Descargando lista de archivos 

Y para finalizar con un toque de perejil vamos a hacer que el daemon se comporte como tal, así que creamos un fichero /etc/init.d/dropbox tal que así:

# dropbox service
DROPBOX_USERS="user1"
start() {
echo "Starting dropbox..."
for dbuser in $DROPBOX_USERS; do
start-stop-daemon -b -o -c $dbuser -S -x /home/$dbuser/.dropbox-dist/dropboxd
done
}

stop() {
echo "Stopping dropbox..."
for dbuser in $DROPBOX_USERS; do
start-stop-daemon -o -c $dbuser -K -x /home/$dbuser/.dropbox-dist/dropboxd
done
}

status() {
for dbuser in $DROPBOX_USERS; do
dbpid=`pgrep -u $dbuser dropboxd`
if [ -z $dbpid ] ; then
echo "dropboxd for USER $dbuser: not running."
else
echo "dropboxd for USER $dbuser: running."
fi
done
}

case "$1" in
start)
start
;;

stop)
stop
;;

restart|reload|force-reload)
stop
start
;;

status)
status
;;

*)
echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
exit 1

esac

exit 0

Lo preparamos para ejecutar como cualquier otro script y probamos su funcionamiento:

# chmod +x /etc/init.d/dropbox
# update-rc.d dropbox defaults
# /etc/init.d/dropbox start

Poco más, llegados a este punto ya deberíamos tener nuestra cuenta de Dropbox funcionando adecuadamente en cualquier servidor. Ahora estamos en condiciones de investigar la eficacia (o no) de dicha herramienta en este tipo de entornos.

sysadmin

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.
blog comments powered by Disqus