Created
May 30, 2020 20:44
-
-
Save facilita-tecnologia/b805a9035dced114aac45be8c8ea1114 to your computer and use it in GitHub Desktop.
Backup do Mysql
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
################################################################### | |
# Nome : backup_mysql.sh | |
# Script para Backup dos dados do MySQL # | |
# Criação : 05/09/2019 - Jocinardo Rodrigues # | |
# Ultima modificação : 05/09/2019 - Jocinardo Rodrigues # | |
################################################################### | |
# Changelog | |
##### Variaveis | |
declare DATA=`date +%Y%m%d_%H` | |
declare DIR_BACKUP="/opt/backups/mysql/" # Define o diretório de backup | |
declare SENHA="suasenha" | |
declare USER="root" | |
DIR_DEST_BACKUP=$DIR_BACKUP$DATA | |
################################################################### | |
##### Rotinas secundarias | |
mkdir -p $DIR_BACKUP/$DATA # Cria o diretório de backup diário | |
echo "MYSQL" | |
echo "Iniciando backup do banco de dados" | |
################################################################## | |
# função que executa o backup | |
executa_backup(){ | |
echo "Inicio do backup $DATA" | |
#Recebe os nomes dos bancos de dados na maquina destino | |
BANCOS=$(mysql -u $USER -p$SENHA -e "show databases") | |
#retira palavra database | |
#BANCOS=${BANCOS:9:${#BANCOS}} | |
declare CONT=0 | |
#inicia o laço de execução dos backups | |
for banco in $BANCOS | |
do | |
if [ $CONT -ne 0 ]; then # ignora o primeiro item do array, cujo conteudo é "databases" | |
NOME="backup_my_"$banco"_"$DATA".sql" | |
echo "Iniciando backup do banco de dados [$banco]" | |
# comando que realmente executa o dump do banco de dados | |
mysqldump --hex-blob --lock-all-tables -u $USER -p$SENHA --databases $banco > $DIR_DEST_BACKUP/$NOME | |
# verifica que se o comando foi bem sucedido ou nao. | |
if [ $? -eq 0 ]; then | |
echo "Backup Banco de dados [$banco] completo" | |
else | |
echo "ERRO ao realizar o Backup do Banco de dados [$banco]" | |
fi | |
fi | |
CONT=`expr $CONT + 1` | |
done | |
DATA=`date +%Y%m%d_%H%M` | |
echo "Final do backup: $DATA" | |
} | |
executa_backup 2>> $DIR_BACKUP/$DATA/backup.log 1>> $DIR_BACKUP/$DATA/backup.log | |
# BACKUP DA PASTA /var/zpanel/hostdata/zadmin/public_html/ | |
zip -r $DIR_DEST_BACKUP/HTML.zip /var/zpanel/hostdata/zadmin/public_html | |
# COMPACTAR BACKUP | |
zip -r /opt/backups/mysql/$DATA.zip $DIR_DEST_BACKUP | |
# EXCLUIR PASTA | |
rm -rf $DIR_DEST_BACKUP | |
# APAGAR BACKUPS ANTIGOS | |
/usr/bin/find /opt/backups/mysql -type f -ctime +2 -exec rm -rf '{}' \; | |
################################################################### |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment