Es en esos momentos en los que uno accidentalmente borra datos importantes de su notebook, en que pregunta: "Si yo sé que tengo que hacer backups de mis datos!! Por qué #$%% no lo hago??" Quizás el dicho "En casa de herrero, cuchillo de palo" se ajusta a estos momentos de sosobra.
A pesar de que mi amigo Pablo, me recomendara algunas herramientas para hacer backup automático, ninguna de ellas me terminaba de cerrar. Fue así que decidí desempolvar mis oxidados conocimientos de Python y me puse a escribir un scriptcito que hiciera la tarea por mi.
El script que escribí me sirve para, en función de donde me encuentro, hacer backup via rsync de mis datos en el servidor de la cooperativa (malbec) o en la PC que tengo en mi casa (rey-lagarto), simplementen detectando el rango de IP que tiene la notebook asignada en ese momento.
Para que el script funcione correctamente, tenemos que tener algunas cosas en cuenta:
- Hay que intercambiar claves entre la notebook y los destinos a los cuales haremos backup, para no tener que poner nuestra contraseña cada vez que el script se ejecuta. Para eso, yo seguí esta guía.
- Hoy el sctipt funciona para hacer backup sólamente a 2 destinos, los cuales deben estar en rangos de IP diferentes (por ejemplo: 192.168.10.3 y 192.168.0.100) (Mejoras, son bienvenidas :D )
Paso a paso para usar el script de backup:
- Bajar el script desde desde este enlace y renombralo a *.py y guardarlo en algún directorio de tu home.
- Intercambiar claves entre la PC sobre la cual queremos hacer backup y la/s PC que lo gardarán. Pueden seguir esta guia.
- Modificar el diccionario de la línea 30 del script, poniendo los rangos de IP y los destinos correspondientes.
- Completar en la línea 33 del script, los directorios dentro de nuestro home que queremos excluir a la hora de hacer el backup.
- Completar en la línea 36 del script, la dirección de correo, donde se nos enviará un mail con un log si el script no puede realizar el backup.
- Modificar la línea 39, colocando el directorio que queremos backupear.
- Cronear nuestro script para que se ejecute, por ejemplo, cada 3 horas. Para eso hacemos lo siguiente:
Abrimos una consola y ejecutamos:
jose@mafalda ~ $ crontab -e
Esto nos abrirá el editor de textos predeterminado, y en él, colocamos la siguiente línea (modificando la ruta al script en función de donde lo hayamos guardado):
0 */3 * * * DISPLAY=:0 python /home/jose/backup.py Esta línea le dice a cron, que ejecute el script cada 3 horas.
Como resultado, cada vez que se ejecute el backup veremos la siguiente notificación en nuestro escritorio:

y la siguiente, cuando finalice:

