Script para copias de seguridad

Octubre 05, 05 by admin

Al transladar Shell Security al servidor actual, creamos un script para realizar backups de una forma bastante sencilla, sobre el propio sistema de ficheros, y que nos permite realizar sencillas copias de seguridad sin la necesidad de instalar un gestor de backups. Realmente, no necesitamos más que esto actualmente, por ello no tiene más funcionalidades, y seguro que a más de uno os vendrá bien. El script está preparado para BSD, pero debería funcionar en cualquier sistema estilo Unix con pequeñas modificaciones. Otras funcionalidades que hemos usado algunas otras veces son por ejemplo montar un dispositivo adicional para copiar los datos, o enviarlos  mediante SFTP a un servidor seguro, lo cual podréis implementar fácilmente en este script.

__________________________________________________________

#!/bin/bash
# Script de copias de seguridad
# Shell Security - www.shellsec.net
# ————————————————–
echo “”
echo “Sistema de ficheros para BACKUP inicializado”
echo “”
echo “”
echo “          Creando copia de seguridad”
echo “———————————————-”
echo “”
DIR_BACKUP=”/backups”
FECHA=`date +%Y-%m-%d-%H.00`
FECHA_FUERA=`(date -r $(( $(date +script-copia-seguridad-backup) - (3 * 86400))) +%Y-%m-%d-%H.00)`
# ———- DB ————-
#Creación de la copia de seguridad
echo “    -= Base de datos =-”
if [ -d “/backups/db/db_$FECHA” ]; then
        echo “Ya existe /backups/db/db_$FECHA”
else
        echo “Creando backup /backups/db/db_$FECHA”
        mkdir /backups/db/db_$FECHA
        chmod 700 /backups/db/db_$FECHA
        cp -R /var/mysql/* /backups/db/db_$FECHA
        chmod 700 /backups/db/db_$FECHA/*
        rm /backups/db/db_$FECHA/ib*
fi

#Eliminación de la copia de seguridad obsoleta
if [ -d “/backups/db/db_$FECHA_FUERA” ]; then
        rm -rf /backups/db/db_$FECHA_FUERA
        echo “Eliminado backup obsoleto /backups/db/db_$FECHA_FUERA”
fi
echo “”

echo “”
echo “.: Copia de seguridad finalizada :.”
echo “”
__________________________________________________________

Como podeis ver, mantiene copias de seguridad durante un tiempo; transcurrido este tiempo, las va eliminando, manteniendo siempre copias relativamente recientes y con un intervalo entre ellas, para que si ocurre una catástrofe en la base de datos, y se realiza una nueva copia de seguridad, no se elimine la última copia válida. Lo ideal es que lo pongáis en el crontab para ser ejecutado cada hora.

Espero que este sencillo script os pueda servir de algo, o al menos daos una idea. Si tenéis algún script relacionado con la seguridad y que creáis que pueda ser de utilidad, enviádnoslo y lo publicaremos.

Add your comment

No responses for this post

  1. inseguro Says:

    it`s working I LIKE IT

Leave a Reply