Automatizar e compactar backup de banco MySQL

Publicado por Marcos Carraro (última atualização em 12/12/2010)

[ Hits: 11.940 ]

Download backup_mysql.sh




Script bacana, muito fácil, não tem o que explicar. Ele faz backup de todo o banco do servidor local, só altere usuário e senha.

Qualquer dúvida é só postar abaixo :D

Abraços galera.

  



Esconder código-fonte

#!/bin/bash

echo "+============================+"
echo "+    Backup Banco de dados   +"
echo "+      Mysql - Backup        +"
echo "+ Escrito por Marcos Carraro +"
echo "+ marcos[at]gmail.com        +"
echo "+============================+"

##--ANTES DE INICIAR LEIA--##
#Coloque para rodar o script no crontab -e
#Coloca para rodar script todo dia as 23:00
#00 23 * * * root bash /var/sistema/mysql/backup_mysql.sh

#Criar pasta principal
if [ -e /var/sistema ]
then
echo "Pasta sistema já existe"
else
mkdir /var/sistema
echo "A pasta sistema foi criada"
fi
#Criar pasta mysql
if [ -e /var/sistema/mysql ]
then
echo "A pasta mysql já existe"
else
mkdir /var/sistema/mysql
echo "Pasta mysql criada com sucesso"
fi
#Cria pasta tmp para backup
if [ -e /var/sistema/mysql/tmp ]
then
echo "A pasta tmp já existe"
else
mkdir /var/sistema/mysql/tmp
echo "Pasta tmp criada com sucesso"
fi
#Criar pasta compactado
if [ -e /var/sistema/mysql/compactado ]
then
echo "A pasta ../mysql/compactado já existe"
else
mkdir /var/sistema/mysql/compactado
echo "Pasta ../mysql/compactado foi criada"
fi

if [ -e /var/sistema/mysql/backup_mysql.sh ]
then
echo "O script já existe"
else
cp backup_mysql.sh /var/sistema/mysql
echo "Script copiado com sucesso"
fi

echo "Fazendo backup de todas as tabelas"
user="root"
senha="MINHASENHA"
/usr/bin/mysqldump -u$user -p$senha --all-databases > /var/sistema/mysql/tmp/banco.sql

echo "Compactando banco"
ano=$(date +%y)
mes=$(date +%h)
dia=$(date +%d)
local='cd /var/sistema/mysql/tmp'
$local
tar czf /var/sistema/mysql/compactado/banco_$dia$mes$ano.tar.gz banco.sql

echo "Registra backup em log"
date=$(date +%c)
echo $date >> /var/sistema/mysql/log

echo "Apagar temporario do banco"
rm -rf /var/sistema/mysql/tmp/*

echo "Fim, Banco salvo com sucesso :D"
exit

Scripts recomendados

BC - ScreenGet

Monitorando tentativas de conexões

Somatório de valores do comando ps

Instalação dos principais programas para um usuário comum

Consumo de memória


  

Comentários
[1] Comentário enviado por stewe em 16/03/2013 - 07:04h

fantástico mano

isso ai é pura praticidade hehehe

[2] Comentário enviado por ulisses.santos em 14/08/2015 - 16:19h


Show vlw.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts