Skip to content

Instantly share code, notes, and snippets.

@AprendendoLinux
Last active February 22, 2017 21:22
Show Gist options
  • Save AprendendoLinux/eee6475ab40c96dc05481ac73e2eeba7 to your computer and use it in GitHub Desktop.
Save AprendendoLinux/eee6475ab40c96dc05481ac73e2eeba7 to your computer and use it in GitHub Desktop.
Backup do MySQL Server
#!/bin/bash
DATA=`date +%Y/%m/%d`
LOG=/var/log/mysqldump-`date +%Y-%m-%d`.log
### VARIAVEIS PARA ENVIO DE E-MAIL
ASSUNTO=" MySqlDump - Backup dos Bancos de Dados em `date +%d/%m/%Y`"
DESTINATARIO="voce@seuemail.com.br"
OUTPUT="/var/backups/mysql/$DATA"
###################################################
## CREDENCIAIS DO MYSQL NO ARQUIVO /root/.my.cnf ##
## ##
## [mysql] ##
## user=root ##
## password='M!nh@S3nh@' ##
## host='ip-ou-dns-do-servidor' ##
## ##
## [mysqldump] ##
## user=root ##
## password='M!nh@S3nh@' ##
## host='ip-ou-dns-do-servidor' ##
## ##
###################################################
### TOPO DO EMAIL
echo "Este e-mail e para simples conferencia." > $LOG
echo "Nele e mostrado o Log de Saida do Backup do Banco de Dados efetuado no dia `date +%d/%m/%Y`". >> $LOG
echo "Essa e uma menssagem automatica, por favor nao responda!" >> $LOG
echo "" >> $LOG
echo "" >> $LOG
mkdir -p $OUTPUT/
databases=`mysql -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
if [[ "$db" != "information_schema" && "$db" != "performance_schema" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db" 2>&1 >> $LOG 2>&1
mysqldump --force --opt --single-transaction --triggers --databases --verbose $db > $OUTPUT/$db.sql 2>> $LOG
gzip $OUTPUT/$db.sql
fi
done
# ENVIA O E-MAIL COM O LOG
cat $LOG | mutt -s "$ASSUNTO" -- $DESTINATARIO
# APAGA LOG
rm -rf $LOG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment