lunes, 17 de diciembre de 2007

Potencia bash!!



Tenemos en el trabajo un servidor instalado con un Debian (Linux version 2.6.8-3-386) donde hace de server samba y además tiene instalado un sistema Trac que nos sirbe particularmente para organizar nuestro trabajo diario. Este sistema web trabaja almacenando toda la información que maneja en una base de datosPostgresql . Bueno, solo quería tener una copia de la base de datos con estructura y datos en caso de problemas de hardware. Ahí fue que decidí buscar una solución simple y rápida (en mi trabajo no hay suficiente dinero para comprar equipos que nos ayuden con estas tareas, por lo menos eso dicen hasta que el dinero aparece mágicamente !!) . En fin, cree un script que hace una copia de la base, arma un archivito comprimido y me lo envia por mail (ya que gmail es muy generoso en la capacidad de almacenamiento que me brinda y el adjunto que obtengo no es de mas de 80 Kbytes ). Todo eso lo hace automáticamente todos los días ya que lo configure mediante cron como una tarea programada

Aquí esta el script:


#!/bin/bash

export DB_BACKUP="/opt/trac"
export DB_USER="trac_db_admin"
# title and version
echo ""
echo "PostGres_backup"
echo "----------------------"
echo "* Rotating backups..."
rm -rf $DB_BACKUP/04
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/02 $DB_BACKUP/03
mv $DB_BACKUP/01 $DB_BACKUP/02
mkdir $DB_BACKUP/01

echo "* Creating new backup..."
pg_dump -U $DB_USER -d trac_db -h localhost | bzip2 > $DB_BACKUP/01/pgsql-\
`date +%d-%m-%Y`.bz
echo "----------------------"
echo "Done"
#####################################################################################
mpack -a -s "Log Backup Trac" $DB_BACKUP/01/pgsql-`date +%d-%m-%Y`.bz\
mycount@gmail.com | exit 0

No hay comentarios: