#!/bin/bash ################################ # script para backups de MySQL # # v0.2 jbarrio 23/12/2004 # ################################ if [ $UID -gt 0 ] then echo "Solo root puede ejecutar este script" exit 1 fi MYSQLDIR='/var/lib/mysql' DESTDIR='/var/backups/mysql' MYSQLDUMP=`which mysqldump` DUMPOPTS="-u copias2 -pkk12kk13 -Q -c" BASENAME=`which basename` BZIP=`which bzip2` DATE=`which date` CHMOD=`which chmod` TIMEFORMAT="%E" if [ ! -d $DESTDIR ] then mkdir -p $DESTDIR echo "El directorio destino $DESTDIR no existia y ha sido creado" fi time { echo "Iniciando Backups: `$DATE '+%d/%b/%Y %H:%M:%S'`" for i in $MYSQLDIR/* do time { if [ -d $i ] then FECHA=`$DATE +%d-%b-%Y` BBDD=`$BASENAME $i` # comprobamos si ya existe la copia y si existe la borramos [ -f ${DESTDIR}/${BBDD}_${FECHA}.sql ] && rm -f ${DESTDIR}/${BBDD}_${FECHA }.sql [ -f ${DESTDIR}/${BBDD}_${FECHA}.sql.bz2 ] && rm -f ${DESTDIR}/${BBDD}_${F ECHA}.sql.bz2 echo -n " -> Haciendo copia de la base de datos $BBDD..." $MYSQLDUMP $DUMPOPTS $BBDD >${DESTDIR}/${BBDD}_${FECHA}.sql $BZIP ${DESTDIR}/${BBDD}_${FECHA}.sql $CHMOD 400 ${DESTDIR}/${BBDD}_${FECHA}.sql.bz2 echo -n "[ ok ] ->" fi } done echo -en "* Borrando backups antiguos..." find ${DESTDIR} -mtime '+3' -exec rm -f {} \; echo "[ ok ]" echo "Proceso acabado: `$DATE '+%d/%b/%Y %H:%M:%S'`" echo -en "\nTiempo empleado: " }