Backup Database MySQL Automatizado
Publicado por Thiago Henrique Lopes (última atualização em 21/02/2019)
[ Hits: 11.301 ]
Homepage: https://github.com/Th14go
Backup em shell script automatizado para banco mysql. Essencial para quem tem muitas databases para fazer backup.
---Script-Backup-Database-MySQL --Th14go--
Script para backup de várias databases MySQL do mesmo servidor, contém informações em todo seu escopo, o backup é executado utilizando o mysqldumb do próprio MySQL, após ocorrer o backup de todas as databases, é iniciado o processo de compactação. É gerado LOG de backup e compactação para auditoria de execução do script posteriormente, fique a vontade em dar dicas e melhorar o script.
Editar variáveis:
#Variáveis para SQL dos BCK
#Variáveis do MySQL#
#Databases#
git clone https://github.com/Th14go/script-bck-mysql
./script-bck-mysql
Rotina de Backup - Crontab
$ crontab -e (inicia tarefa com o agendador de tarefas crontab, em "root")
00 19 * * * /bck-bases-mysql.sh #Backup será executado todos os dias as 19:00hr
Para garantir reinicie o serviço do crontab:
# service crontab restart
#!/bin/sh #Backup Databases MySQL C/ LOGS -- Criado por: Th14go #GITHUB- https://github.com/Th14go/script-bck-mysql DATA=`date +%Y-%m-%d-%H.%M` #Local onde o arquivo de log sera armazenado. SYNC_LOG=/var/log/bckmysql/bckmysql$DATA.log #Variáveis para SQL dos BCK BASEI="/mnt/backup/MySQL/BASEI-$DATA.sql" BASEII="/mnt/backup/MySQL/BASEII-$DATA.sql" BASEIII="/mnt/backup/MySQL/BASEIII-$DATA.sql" BASEIV="/mnt/backup/MySQL/BASEIV-$DATA.sql" BASEV="/mnt/backup/MySQL/BASEV-$DATA.sql" #Variáveis do MySQL# HOST="localhost" USER="root" PASSWORD="suasenha" #DATABASES# DATABASEI="BASEI" DATABASEII="BASEII" DATABASEIII="BASEIII" DATABASEIV="BASEIV" DATABASEV="BASEV" #EXECUTANDO BACKUP DE DATABASEI# echo "******************************" >> $SYNC_LOG echo "Inicio do Backup Database BASEI" >> $SYNC_LOG date >> $SYNC_LOG mysqldump --routines --triggers -h $HOST -u $USER -p$PASSWORD $DATABASEI > $BASEI echo "Fim do Backup da Database BASEI" >> $SYNC_LOG date >> $SYNC_LOG echo "******************************" >> $SYNC_LOG echo "Inicio do Backup Database BASEII" >> $SYNC_LOG date >> $SYNC_LOG #EXECUTANDO BACKUP DE DATABASEII# mysqldump --routines --triggers -h $HOST -u $USER -p$PASSWORD $DATABASEII > $BASEII echo "Fim do Backup da Database BASEII" >> $SYNC_LOG date >> $SYNC_LOG echo "******************************" >> $SYNC_LOG echo "Inicio do Backup Database BASEIII" >> $SYNC_LOG date >> $SYNC_LOG #EXECUTANDO BACKUP DE DATABASEIII# mysqldump --routines --triggers -h $HOST -u $USER -p$PASSWORD $DATABASEII > $BASEIII echo "Fim do Backup da Database BASSEIII" >> $SYNC_LOG date >> $SYNC_LOG echo "******************************" >> $SYNC_LOG echo "Inicio do Backup Database BASEIV" >> $SYNC_LOG date >> $SYNC_LOG #EXECUTANDO BACKUP DE DATABASEIV# mysqldump --routines --triggers -h $HOST -u $USER -p$PASSWORD $DATABASEIV > $BASEIV echo "Fim do Backup da Database BASEIV" >> $SYNC_LOG date >> $SYNC_LOG echo "******************************" >> $SYNC_LOG echo "Inicio do Backup Database BASEV" >> $SYNC_LOG date >> $SYNC_LOG #EXECUTANDO BACKUP DE DATABASEV# mysqldump --routines --triggers -h $HOST -u $USER -p$PASSWORD $DATABASEV > $BASEV echo "Fim do Backup da Database BASEV" >> $SYNC_LOG date >> $SYNC_LOG echo "******************************" >> $SYNC_LOG #Compacta Databases Mysql# echo "******************************" >> $SYNC_LOG echo "Inicio da compactacao do Backup" >> $SYNC_LOG date >> $SYNC_LOG #echo "******************************" >> $SYNC_LOG cd /mnt/backup/MySQL/ tar -cvzf DATABASES-$DATA.tar.gz *sql echo "******************************" >> $SYNC_LOG echo "Fim da compactacao" >> $SYNC_LOG date >> $SYNC_LOG echo "******************************" >> $SYNC_LOG #Deleta Arquivos SQL Databases# rm -rvf /mnt/backup/MySQL/*.sql #Sincroniza com diretorio do servidor em diretorio remoto os LOGS# rsync -Cravp /var/log/bckmysql /mnt/backup/LOG/ #Apagando-Backup-com+de10dias echo "***********INICIO REMOÇÃO REMOTA***************">>$SYNC_LOG date >> $SYNC_LOG find /mnt/backup/MySQL -mtime +10 -fprint /mnt/backup/LOG/logdelete`date +%F`.txt -exec rm -rf {} \; >>$SYNC_LOG date >> $SYNC_LOG echo "**********FIM REMOÇÃO REMOTA*******************">>$SYNC_LOG
rsyncdev-pt_BR.sh - Um baixador automático de ISOs de Sabayon Linux
Backups automáticos de rádios Intelbras APC5
Nenhum comentário foi encontrado.
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
India's Leading Food Testing Facility | Fare Labs Pvt. Ltd. (0)
Não consigo instalar o WineHQ no meu notebook vaio FE15 (Debian) (7)