jueves, 8 de julio de 2010

Shell script de respaldos

Este script genera respaldos de repositorios SVN, trac y BDs PostgreSQL y las envia a un almacén secundario vía SSH. Podría utilizarse para generar respaldos en un servidor local y enviarlos a otro en la red. Se asume que para las conexiones SSH (utilizando SCP) existe relación de confianza entre los servidores (ver artículo anterior por cualquier duda).


#!/bin/sh
FECHA=`date +%d%m%y`_`date +%s`
DIRECTORIO="/respaldos"
USUARIO="a"
SERVIDOR="192.168.1.104"
USUARIO_BD="admin"

###### RESPALDO SVN ######

#Creando respaldo (comprimido) en formato dump del repo (Almacén Local)
svnadmin dump /repositorio/ | gzip > $DIRECTORIO/repo/repositorio_$FECHA.dmp.gz

#Copiando al Almacén de Respaldos
scp $DIRECTORIO/repo/repositorio_$FECHA.dmp.gz $USUARIO@$SERVIDOR:~/backup_servidor/repo/repositorio_$FECHA.dmp.gz

###### RESPALDO TRAC ######

#Creando respaldo del trac
trac-admin /trac hotcopy $DIRECTORIO/trac/trac
tar cfz $DIRECTORIO/trac/trac_$FECHA.tar.gz $DIRECTORIO/trac/trac
rm -r $DIRECTORIO/trac/trac

#Copiando al Almacén de Respaldos
scp $DIRECTORIO/trac/trac_$FECHA.tar.gz $USUARIO@$SERVIDOR:~/backup_servidor/trac/trac_$FECHA.tar.gz

###### RESPALDO BD ######

#Creando respaldo de la BD "bd_a"
pg_dump -U $USUARIO_BD bd_a | gzip > $DIRECTORIO/bd/bd_a_$FECHA.sql.gz

#Creando respaldo de la BD "bd_b"
pg_dump -U $USUARIO_BD bd_b | gzip > $DIRECTORIO/bd/bd_b_$FECHA.sql.gz

#Llevando respaldo al servidor Web de Softclear
scp $DIRECTORIO/bd/*_$FECHA.sql.gz $USUARIO@$SERVIDOR:~/backup_servidor/bd/

No hay comentarios:

Publicar un comentario