Backup de banco de dados MySQL

Publicado por Aristides Neto (última atualização em 24/06/2019)

[ Hits: 5.518 ]

Homepage: https://www.aristidesneto.com.br/

Download backup_database.sh




Script para backup de banco de dados MySQL. O script irá fazer o backup e compactar em bz2... basta informar quais bancos deseja backupear. No final verifica os backups antigos e remove conforme a regra de dias definida pelo usuário. Todo o processo de backup é salvo em um arquivo de log.

Script esta bem simples mas eficiente!

Este script você também pode ver no meu blog: https://www.aristidesneto.com.br/script-de-backup-de-banco-de-dados-mysql

  



Esconder código-fonte

#!/bin/bash
# 
# Autor: Aristides Neto
# Email: contato@aristidesneto.com.br
#
# Data: 09/06/2019
#
# Realiza o backup de bancos de dados MySQL
#

# Define usuario e senha do banco
USER='root'
PASS='root'

# Datas
DIA=`date +%d`
MES=`date +%m`
ANO=`date +%Y`
DATA_ATUAL=`date +%Y-%m-%d-%H-%M`

# Data de Inicio do Backup
DATA_INICIO=`date +%d/%m/%Y-%H:%M:%S`

# Caminho do arquivo de log
LOG_DIR=/var/log/backup
LOG=$LOG_DIR/backup_db_$ANO$MES$DIA.log

# Diretorio onde serão salvos os backups
DIR_BK=/var/backups/database

# Lista dos bancos de dados que serão realizados o backup
DATABASES=(banco01 banco02)

# Verifica se existe o diretorio para armazenar os logs
if [ ! -d $LOG_DIR ]; then
    mkdir $LOG_DIR
fi

# Verifica se existe o diretorio para o backup
if [ ! -d $DIR_BK ]; then
    mkdir -p $DIR_BK
fi

# Inicio do backup
echo "MYSQLDUMP Iniciado em $DATA_INICIO" >> $LOG

# Loop para backupear todos os bancos
for db in "${DATABASES[@]}"; do
   # Mysql DUMP
   mysqldump -u$USER -p$PASS $db > $DIR_BK/$db'_'$DATA_ATUAL.sql

   echo "Realizando backup do banco ...............[ $db ]" >> $LOG

   # Compacta o arquivo sql em BZ2
   bzip2 $DIR_BK/$db'_'$DATA_ATUAL.sql
done

DATA_FINAL=`date +%d/%m/%Y-%H:%M:%S`
echo "MYSQLDUMP Finalizado em $DATA_FINAL" >> $LOG

# Remove arquivos de backups antigos - 5 dias
find $DIR_BK -type f -mtime +5 -exec rm -rf {} \;


Scripts recomendados

Backup Incremental com Rsync

clonagem de disco

Backup de MySQL para uso no cron / cPanel

Criptografando arquivos para enviar pra sua nuvem

Script Backup com Log e envio por Email


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts