backup.jpg

En el mundo de los sistemas de información, es esencial contar con módulos de respaldos que permitan mantener un histórico de nuestros datos, ya sea configuraciones, base de datos, código fuente, entre otros datos importantes que requieran ser preservados.

En este post se describe, como por medio del comando tar y un par de comandos adicionales, se puede realizar un respaldo incremental.

¿ Porque incremental? Resulta que en la gran mayoría de los  casos, los respaldos totales, los datos que contienen, no sufren cambios con regularidad. Por lo que siempre tendremos “respaldos redundantes”.

Es por ello que en esta ocasión se presenta un pequeño script para realizar respaldos incrementales, así como el mantenimiento de los históricos de los respaldos y el traslado del respaldo a un servidor remoto.

1
2
3
4
5
6
7
8
9
#!/bin/bash
TIME=`date +%Y%m%d`
FILENAME=NombreArchivo-$TIME.tar.gz
SNAPNAME=NombreArchivo-`date +%m`.snap
SRCDIR=/ruta/a/respaldar
DESDIR=/ruta/donde/guardamos/el/respaldo
EXCLUDE=excluir/carpetas/que/no/deseamos/respaldar/*
 
cd DESDIR

#Recuperar espacio. Eliminamos los respaldos, con mas de 30 días de antigüedad.

1
find $DESDIR -type f -iname 'NombreArchivo-*' -mtime +30 -exec rm -vf {} \;

#Realizamos el respaldo con el comando tar,y a su vez se envía la salida del respaldo a un Log

1
/bin/tar -czf $DESDIR/$FILENAME -g $DESDIR/$SNAPNAME --exclude=$EXCLUDE $SRCDIR $DESDIR/Log_Respaldo.txt

#Guardamos el archivo snap, que es nuestro archivo de control, para manejar los incrementales.

1
/bin/cp $DESDIR/$SNAPNAME $DESDIR/NombreArchivo-$TIME.snap

#Copiamos el Respaldo en un Equipo Remoto.

1
/usr/bin/sshpass -p "ClaveEnTextoPlano" scp $DESDIR/NombreArchivo-$TIME.* usuario@IP:/home/soporte/Respaldo/

Es necesario hacer mención que es necesario tener instalado sshpass, para hacer uso del modo no Interactivo.

 

Imagen: Got Credit (CC BY 2.0)

Fuente: lamiradadelreplicante

¿Quién está en línea?

Hay 20582 invitados y ningún miembro en línea