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, las shell, editores de texto como 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 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 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 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, 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 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 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 hará lo mismo que Dropbox, además es un servicio que cifra las transferencias, por lo que nadie leerá nuestras configuraciones.

Bittorrent Sync solo sincronizará aparatos que estén encendidos mientras que sistemas de control de versiones como Git 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 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 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!