[Bash] Mysql Backup v 1.2
Este script realiza copias de la base de datos indicada
07 | ADMIN_EMAIL= tu.direccion@de.correo.com |
10 | BACKUP_DIR=/ruta/donde/se/almacenaran/los/backups |
13 | LAST_FILE=` ls -1t $BACKUP_DIR | head -n1` |
16 | mysqldump --user=${DB_USER} --password=${DB_PASS} --host=${DB_HOST} ${DB_NAME} | bzip2 -c > /tmp/db-$( date +%Y%m%d).sql.bz2 |
18 | if [ "$?" - ne "0" ]; then |
19 | if [ $MAIL_DEBUG = 0 ]; then |
20 | echo -e "\nmysqldump failed!" |
23 | echo "Ha habido un problema al ejecutar el backup de la base de datos. El comando mysqldump ha fallado" | mail -s "Backup de $DOMINIO" $ADMIN_EMAIL |
29 | tar -cjf /tmp/db-$( date +%Y%m%d). tar .bz2 /tmp/db-$( date +%Y%m%d).sql.bz2 |
30 | if [ "$?" - ne "0" ]; then |
31 | if [ $MAIL_DEBUG = 0 ]; then |
32 | echo - ne "tarball creation failed!\\n" |
35 | echo "Ha habido un problema al comprimir el backup de la base de datos. El comando tar ha fallado" | mail -s "Backup de $DOMINIO" $ADMIN_EMAIL |
39 | TEMP_FILE=/tmp/db-$( date +%Y%m%d). tar .bz2 |
42 | if [ ` du -h $TEMP_FILE | cut -f1` == ` du -h $BACKUP_DIR/$LAST_FILE | cut -f1` ]; then |
43 | if [ $MAIL_DEBUG = 0 ]; then |
44 | echo " No se hace nada, no ha habido cambios" |
46 | echo "No se ha completado el backup, ya que no ha habido cambios" | mail -s "Backup de $DOMINIO" $ADMIN_EMAIL |
49 | if [ $MAIL_DEBUG = 0 ]; then |
50 | echo "Ha habido cambios, procedemos a almacenar el backup" |
52 | mv /tmp/db-$( date +%Y%m%d). tar .bz2 $BACKUP_DIR |
53 | echo "" | mutt -a $BACKUP_DIR/db-$( date +%Y%m%d). tar .bz2 -s "Backup de $DOMINIO" $ADMIN_EMAIL |
57 | for e in $( ls ./ | nl | cut -f2 ) |
59 | let contadortotal=$contadortotal+1 |
61 | let contadortotal=$contadortotal-30 |
65 | for e in $( ls - tr ./ | nl | cut -f2 ) |
67 | let contadorparcial=$contadorparcial+1 |
68 | if [ $contadorparcial - lt $contadortotal ] ; then |
3 comments for “[Bash] Mysql Backup v 1.2”