Bueno gente, aquí les dejo un pequeño script en bash que se encarga de crear un backup de una base de datos en MySQL, comprimir el archivo con bzip2 y enviarlo a un correo que le especifiquemos. Espero les sea de utilidad:
#!/bin/bash
# Do MySQL Backup
dbuser="usuariodatabase"
dbpass="passdatabase"
database="nombredatabase"
date1=`date '+%D %X %Z'`
date2=`date +%d%m%Y%H%M%S%Z`
BACKUPDIR="/directorio/algun/lugar/servidor/"
SQLBACKUP=$BACKUPDIR$database"_backup_"$date2".sql"
# Poner 0 para no enviar por mail
sendbymail=1
email="correo@algunlugar.com"
subject="Backup algunlugar.com "$date1
content="Automatically generated message for algunlugar.com"
#Crear backup de la base de datos
mysqldump -u $dbuser -p$dbpass $database > $SQLBACKUP
if [ $? == 0 ]
then
bzip2 -9 $SQLBACKUP
if [ $? == 0 ] && [ $sendbymail == 1 ]
then
echo "$content" | mutt -s "$subject" -a $SQLBACKUP".bz2" $email
fi
else
rm $SQLBACKUP
fi