Script Copia de Seguridad

Publicado en por jmslinx

Bueno hoy os tarigo un Script que nos crea una copia de seguridad de una base de datos o cualquier archivo que tengamos en nuestro Linux:


#!/bin/bash

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,FICHERO ————-
#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.





Etiquetado en Sistemas Operativos

Comentar este post