Automatizar e compactar backup de banco MySQL

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

[ Hits: 15.259 ]

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

Criar pacote Debian do thunderbird de br.mozdev.org

Script para adicionar bordas às imagens de uma pasta

Automatizador de instalação para Arch Linux

Matrizes

Faça download de vídeos do YouTube, convertendo para MPEG


  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts