Public feed
#725303
#!/usr/local/bin/bash
################################
# script para backups de MySQL #
################################
if [ $UID -gt 0 ]
then
echo "Solo root puede ejecutar este script"
exit 1
fi
MYSQLDIR='/var/db/mysql'
DESTDIR='/backups/mysql'
MYSQLDUMP=`which mysqldump`
DUMPOPTS="-u user -p passwd -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}_${FECHA}.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: "
}