
Debo reconocerlo, no soy un tipo con mucha suerte… se me perdió mi disco duro externo, mi hijo me estropeó el reproductor de mp3′s y he prestado algunos pendrives que nunca regresaron. Así que he instalado Dropbox.
Dropbox es uno de los tantos servicios que almacenan información on-line. Entonces, cuál es la gracia?: que para subir un archivo al servidor, basta con arrastrar/copiar a una carpeta local (es decir, una carpeta dentro de tu pc) los archivos a respaldar.
En vista de esto, decidí crear un pequeño script que me haga un backup de los archivos del trabajo, los cuales son los que manejo en el notebook. Veamos cómo va la cosa:
#! /bin/bash
# Defino los directorios
DROPB=/media/Respaldo/Documentos/Dropbox/SHIMIN/ # Directorio dentro del Dropbox donde guardaré los backups
WORK=/media/Respaldo/Documentos/SHIMIN # Directorio que respaldaré
DOC=/media/Respaldo/Documentos/SHIMIN/Curso_de_Hidraulica/Documento/LaTeX/ # Directorio en donde estoy realizando constantemente cambios importantes
# Defino los nombres de los respaldos
SAVE_WORK=Shimin-$(date +%F).tar.gz # Para SHIMIN
SAVE_LATEX=Curso-$(date +%F).tar.gz # Para el curso
# Defino las condiciones para respaldar
HORA=1300 # Hora a la que empieza el respaldo
DIA=5 # Dia de la semana que respaldo a SHIMIN
respaldo_SHIMIN ()
{
cd $WORK
# Realizo las compresiones y la copia del archivo
tar -czf $SAVE_WORK *
mv $SAVE_WORK $DROPB
}
respaldo_CURSO ()
{
cd $DOC
tar -czf $SAVE_LATEX *
mv $SAVE_LATEX $DROPB
}
respaldar ()
{
if [ $(date +%H%M) -eq $HORA ] ; then
cd $DROPB
rm -f Curso*.tar.gz
respaldo_CURSO &
echo " " >> "$DROPB/Actualizaciones"
echo " " >> "$DROPB/Actualizaciones"
echo "_______________________________________________ "$(date +%A) $(date +%d) de $(date +%B) $(date +%R:%S) >> "$DROPB/Actualizaciones"
echo " " >> "$DROPB/Actualizaciones"
echo "El archivo $SAVE_LATEX se ha actualizado" >> "$DROPB/Actualizaciones"
if [ $(date +%u) -eq $DIA ] ; then
cd $DROPB
rm -f Shimin*.tar.gz
respaldo_SHIMIN &
echo "El archivo $SAVE_WORK se ha actualizado" >> "$DROPB/Actualizaciones"
elif [ $(date +%u) -ne $DIA ] ; then
sleep 55 ; respaldar
fi
elif [ $(date +%H%M) -ne $HORA ] ; then
sleep 55 ; respaldar
fi
}
respaldar
Al principio solo se definen algunas variables. Luego se definen 3 funciones: respaldo_SHIMIN, respaldo_CURSO y respaldar.
respaldo_SHIMIN y respaldo_CURSO lo que hacen es comprimir el directorio donde tengo todos mis informes y antecedentes del trabajo y un curso que estoy preparando para Collahuasi (una mienera), respectivamente. La gracia, es que el curso es infinitamente más liviano que toda la carpeta SHIMIN, puesto que como lo hago en latex, y trabajo con imágenes en pdf, el documento del curso es súper liviano, mientras que los antecedentes de la carpeta SHIMIN pesan cerca de 1GB
Por otro lado respaldar lo que hace es:
si [ hora = 13:00 hrs], entonces
borra los archivos antiguos del curso
hace el back up llamando a respaldo_CURSO
actualiza un archivo plano con el registro de la actualizacion
si ademas [ día de la semana = viernes ], entonces
borra los archivos antiguos del trabajo
hace el backup llamando a respaldo_SHIMIN
actualiza el archivo plano con la actualización
si [ dia de la semana no es viernes], entonces
vuelve a ejecutar respaldar hasta que sea viernes
si [ hora distinto de 13:00 hrs], entonces
vuelve a ejecutar respaldar hasta que sean las 13:00 hrs
Se guarda el documento (por ejemplo mibackup), y se agrega a los programas que cargan al inicio. En GNome, es:
alt+F1 > Sistemas > Preferencias > Aplicaciones al inicio
Y agregamos nuestro script

Programas al inicio
En donde dice Comando, pones
/ruta/del/script/./mibackup
Los resultados son:
- Todos los días, a la hora de almuerzo, se hace un respaldo del curso que estoy haciendo en mi carpeta Dropbox.
- Todos los viernes, antes de terminar las horas de trabajo, se hace un respaldo de todo lo que se haya modificado.
- Se sincronizan todos los archivos con los pc’s donde tengo instalado el Dropbox (esto es gracias al Dropbox, no al script)
- Se genera un archivo plano con las actualizaciones realizadas.
- Puedo andar tranquilo por la vida, sabiendo que los archivos del trabajo, aunque me roben/se estropee el portátil, estarán respaldados.