En Linux, **multitud de las aplicaciones que usamos tienen una configuración que se cambia a base de editar un archivo de texto**. Programas como emuladores de [terminal](http://bitelia.com/2014/09/emuladores-terminal-linux), las [shell](http://bitelia.com/2014/09/shell-para-linux), editores de texto como [Vim](http://bitelia.com/2014/06/plugins-vim), o docks como Plank, son unos cuantos ejemplos de programas que guardan su configuración en un archivo de texto, pero podemos encontrar infinidad de ellos.

A veces, llegamos a un punto en el que **hemos hecho tantas configuraciones que tenemos miedo a perderlas** por si tenemos que repetir todo el proceso. Otras veces, **nos gustaría que nuestras configuraciones se sincronizasen con otro PC** que tenemos. Incluso podría pasar que ha salido una nueva versión de nuestra distribución de [Linux](http://bitelia.com/2014/05/distribucion-linux-usuario) favorita y hemos decidido que vamos a formatear nuestras particiones para instalarla.

En este post, **vamos a ver que métodos podríamos usar para respaldar solamente o para respaldar y sincronizar nuestras configuraciones con otros PC**. Para ello, usaremos los enlaces simbólicos y elegiremos el servicio de almacenamiento en la [nube](http://bitelia.com/2014/02/almacenamiento-nube-con-mas-capacidad) que más se ajuste a nuestras necesidades.

## Cómo sincronizar nuestra configuración

sincronizar-la-configuración-en-Linux

La base de la solución que propongo en este post es usar las propiedades de los enlaces simbólicos. Ya nos explicó nuestra compañera [Andrea](http://bitelia.com/2014/07/enlaces-fisicos-y-simbolicos-linux) que **un enlace simbólico es parecido a un acceso directo de Windows o un alias en OS X, sirve para apuntar al registro del sistema de archivos donde se encuentran los datos**. Por poner un ejemplo práctico, imaginemos que hemos editado el archivo de configuración de nuestra shell Zsh, es decir, el archivo `.zshrc`. Le hemos modificado el [prompt](http://bitelia.com/2014/09/personalizar-prompt-zsh), hemos añadido unos cuantos *alias* que nos van a hacer más productivos y varias cosas más. ¿Qué haríamos para respaldarlo?

Supongamos que hemos elegido un servicio en la nube cualquiera y **tenemos un [cliente de escritorio](http://bitelia.com/2014/09/google-drive-para-linux) que ha creado una carpeta** en la que se sincronizará con la nube todo lo que pongamos. **Normalmente haríamos una copia y la meteríamos a dicha carpeta**, ¿verdad? Pero, ¿y si editamos el archivo de nuevo? Tendríamos que crear otra copia y sobreescribirla. ¿No os parece poco productivo?

Lo que vamos a hacer va a ser **mover el archivo a esa carpeta, no copiarlo. Después, crearemos un enlace simbólico a ese archivo y lo dejaremos en la posición que debe estar**. En este caso `.zshrc` va en nuestra carpeta personal. De tal forma que podremos editar el archivo desde el enlace o desde el origen, lo mismo da porque es el mismo archivo, no una copia.

$ ln -s carpetadesincronización/.zshrc ~/

## Qué servicio en la nube usar

almacenamiento-en-la-nube-a-mano

Hacer esto es útil cuando queremos estar seguros de que nuestras configuraciones estarán a salvo y que hasta el más mínimo cambio tendrá una copia de seguridad. Ahora, **añadamos a la receta la posibilidad de sincronizar configuraciones con más de un PC**. Imaginemos que tenemos el portátil en casa con varias configuraciones que queremos que se actualicen en tiempo real en otro ordenador, puede que sea el del trabajo o el de nuestro servidor, por poner un ejemplo. Si creamos otro enlace simbólico en dicho ordenador apuntando al mismo archivo, las configuraciones se sincronizarán entre los dos ordenadores. Mucho más cómodo que andar copiando y pegando, ¿no?

Con [**Dropbox**](https://www.dropbox.com/) podemos crear una carpeta en la que ir metiendo nuestros archivos de configuración, crear el enlace simbólico y **se respaldará en tiempo real**. Si creamos en enlace simbólico en otro PC también, se sincronizarán automáticamente los cambios. [**MEGA**](https://mega.co.nz/) hará lo mismo que Dropbox, además es un servicio que **cifra las transferencias**, por lo que nadie leerá nuestras configuraciones.

[**Bittorrent Sync**](http://getsync.com/) solo **[sincronizará](http://bitelia.com/2014/09/como-usar-bittorrent-sync) aparatos que estén encendidos** mientras que **sistemas de control de versiones** como [**Git**](http://git-scm.com/) nos **facilitarán volver a atrás fácilmente y corregir errores**. El lado malo es que tendremos que respaldar los cambios en la nube y **recoger los cambios en otros ordenadores manualmente**, podemos usar [Github](https://github.com/) para ello.

## Consejo Geek

sincronizar-la-configuración-en-Linux

Estaría bien añadir unas líneas a nuestro [script de instalación de Ubuntu](http://bitelia.com/2014/09/como-hacer-script-instalacion-para-ubuntu-y-derivadas) en las que busque nuestros archivos de configuración y cree enlaces simbólicos en su lugar correspondiente, ¿no?

Hasta aquí una idea de cómo respaldar y sincronizar nuestras configuraciones. La sincronización automática nos hará ahorrar bastante tiempo, **¿conoces alguna forma más eficaz? ¡Compártela en los comentarios!**

2 respuestas a “Cómo guardar las configuraciones de tus aplicaciones en Linux y sincronizarlas en la nube”

Los comentarios están cerrados.