[Tutorial] Backup do MySQL em ambiente Linux

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares1 , com mais de 10 milhões de instalações pelo mundo.2
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1516
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 41
Contato:
Status: Offline

[Tutorial] Backup do MySQL em ambiente Linux

Mensagem por marceloleaes »

Segue um exemplo de script para fazer backup dos bancos do MySQL em servidores Linux. O script é auto explicativo e comentado, acredito que não seja necessário explicar seu funcionamento. Qualquer dúvida poste ai  :D

Código: Selecionar todos

#!/bin/sh
# Script para Backup dos bancos MySQL - Faz backup de todos os bancos contidos no MySQL Server
# Arquivo de saida enviado para /home/mysql/ verifica e remove backups anteriores a 20 dias
# No final da rotina dispara um email confirmando que rodou com sucesso, utilize o ssmtp para os envios

DATA=`date +%d-%m-%Y`
unset PATH
MYSQLUSER="usuariorootmysql"
MYSQLPWD="senhadousuarioroot"
MYSQLHOST="localhost"
MYSQLBACKUPDIR="/home/mysql/Backup-$DATA"
SUBJECT="HOSTNAME DO SERVIDOR - Backup MySQL - $DATA"
EMAIL="[email protected]"
MK=/bin/mkdir;
RM=/bin/rm;
GREP=/bin/grep;
MYSQL=/usr/bin/mysql;
MYSQLDUMP=/usr/bin/mysqldump;
XARGS=/usr/bin/xargs;
FIND=/usr/bin/find;
TAR=/bin/tar;
UUENCODE=/usr/bin/uuencode;
MAIL=/usr/bin/mail;

$MK $MYSQLBACKUPDIR

for i in $(echo 'SHOW DATABASES;' | $MYSQL -u$MYSQLUSER -p$MYSQLPWD -h$MYSQLHOST|$GREP -v '^Database$'); do
  $MYSQLDUMP                                                    \
  -u$MYSQLUSER -p$MYSQLPWD -h$MYSQLHOST                         \
  -Q -c -C --add-drop-table --add-locks --quick --skip-lock-tables   \
  $i > $MYSQLBACKUPDIR/$i.sql;
done;

$TAR -cvzpf $MYSQLBACKUPDIR.tgz $MYSQLBACKUPDIR
$RM -r $MYSQLBACKUPDIR

$FIND /home/mysql/ -mtime +20|$XARGS rm

(echo "O script de backup dos bancos MySQL rodou com sucesso no servidor HOSTNAME DO SERVIDOR") | $MAIL -s "$SUBJECT" $EMAIL

exit 0


"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio

Avatar do usuário
Elton
Administrator
Administrator
Mensagens: 1259
Registrado em: 10 Jun 2013 12:44
Status: Offline

Re:[Tutorial] Backup do MySQL em ambiente Linux

Mensagem por Elton »

belo tutorial uso em produção a uns 5 meses!!!  :D
"Colaborar atrai amigos, competir atrai inimigos ..."

Responder

Voltar para “Mysql - MariaDB”