Script para copias de seguridad
Octubre 05, 05 by adminAl 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.




inseguro Says: 01.12.05 at 23:18
it`s working I LIKE IT