Mostrando postagens com marcador Banco de Dados. Mostrar todas as postagens
Mostrando postagens com marcador Banco de Dados. Mostrar todas as postagens

01 agosto 2008

Automatizando o processo de backup do mysql

Neste post vamos ver como realizar um backup de um banco de dados do MYSQL e como automatizar este processo. Vamos partir do seguinte principio:
Temos um banco de dados implementado no MYSQL chamado meuBanco, na maquina Localhost, que é acessado pelo usuario jcarlos e com a seguinte senha 1234.
Modelo:
Database meuBanco
Host Localhost
Usuario jcarlos
Senha 1234
O programa responsável pela realização de backup do MYSQl é o mysqldump, que já vem distribuído junto com o banco de dados. O mysqldump gera um arquivo com os comando SQL que cria um esquema das tabelas existente em seu banco de dados. Vamos iniciar com um exemplo prático de como fazer backup completo de nosso banco de dados.
# mysqldump -h localhost -u jcarlos -p1234 meuBanco > backup_meuBanco.sql
Bem simples e prático não. No comando acima podemos observar claramente que foi gerado um backup de seu banco em um arquivo SQL. O mysqldump possui diversas opções para realização de backup personalizado. Você pode configurá-lo para fazer cópia apenas das estruturas das tabelas, apenas os resgistros, escolher o tipo de sintaxe dos comando SQL e afins. Digite # man mysqldump para maiores informações.
Agora que aprendemos a fazer a cópia de nosso banco de dados, vamos apreder a autmatizar o processo de backup. Criaremos um simples script shell para realização do backup e nomear as cópias nomeadas com a data atual.
Script:
#!/bin/bash
#backup mysql
DATA='/bin/date+%Y%m%d'
#NOME armazena o nome do arquivo de backup, neste caso o diretório #é /home/jcarlos/backup, configure de acordo com as suas necessidades.
NOME="/home/jcarlos/backup/meuBanco-$DATA.sql"
#Variáveis do MYSQL
HOST="localhost"
USER="jcarlos"
SENHA="1234"
DATABASE="meuBanco"
mysqldump -h $HOST -u $USER -p$SENHA -d $DATABASE > $NOME
Após criado o script mysqlBackup.sh, vamos agendar sua execução diária no CRON < clique aqui pata ver o post sobre CRON> exemplo queremos que o script seja executado todos os dias às 2:00h a manhã. Digite:
# crontrab -e
00 2 * * * /bin/sh /home/jcarlos/mysqlBackup.sh

Restauração

Restaurar um backup para o Mysql é simples, basta você o mesmo comando mysqldump. Uma das formas de se restaurar um backup é a seguinte:
# mysqldump -h localhost -u jcarlos -p1234 -d meuBanco < meuBanco20080801.sql
Onde meuBanco20080801.sql é o arquivo gerado pelo backup e contém comandos SQL.
Até o próximo post.
Fonte: Fábio Berbert de Paula - www.vivaolinux.com.br