LOGIN:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

MySQL

Feed da seção MySQL

Newsletter de MySQL


Segunda-feira, 28/04/2008 - 13:30 - Por Rafael Lima
Seções relacionadas:

Configurando sistema de backup do banco de dados MySQL no Amazon S3 em 10 minutos

Este artigo é um passo-a-passo para instalação do sistema AutoMySqlBackup em conjunto com um script de sincronização de diretórios no Amazon S3, para realizar backup dos bancos de dados MySQL.

Este script é bem completo e tem tudo que alguém pode precisar para um sistema de backup eficiente e seguro em ambiente de produção.

Por motivos de segurança, sugiro que você crie um usuário somente para backup, que tenha permissão apenas de leitura (SELECT). Para fazer isso, conforme sugerido aqui, rode o comando abaixo no servidor que possui o MySQL instalado.

1.	$ mysql -u root -p -e "GRANT SELECT, LOCK TABLES ON *.* TO ´backup´@´localhost´ IDENTIFIED BY "escolha-uma-senha"

Depois disso baixe o script AutoMySQLBackup no seu diretório de scripts, por exemplo, /usr/local/scripts

1.	$ mkdir -p /usr/local/scripts
2.	$ cd /usr/local/scripts
3.	$ wget -c http://ufpr.dl.sourceforge.net/sourceforge/automysqlbackup/automysqlbackup.sh.2.5

Edite o arquivo com seu editor preferido (ex: nano -w automysqlbackup.sh.2.5) e configure os parâmetros. Fora os parâmetros de acesso ao banco de dados (lembre-se de usar o usuário backup que foi criado no passo anterior), sugiro a alteração destes parâmetros:

1.	# Mail setup
2.	# What would you like to be mailed to you?
3.	# - log   : send only log file
4.	# - files : send log file and sql files as attachments (see docs)
5.	# - stdout : will simply output the log to the screen if run manually.
6.	# - quiet : Only send logs if an error occurs to the MAILADDR.
7.	MAILCONTENT="log"
8.	 
9.	# Separate backup directory and file for each DB? (yes or no)
10.	SEPDIR=yes
11.	 
12.	# Additionally keep a copy of the most recent backup in a seperate directory.
13.	LATEST=yes

Coloque o script para rodar no cron diariamente.

1.	$ cd /etc/cron.daily
2.	$ ln -s /usr/local/scripts/automysqlbackup.sh.2.5 automysqlbackup
Enviando os arquivos de backup para uma conta no Amazon S3

Para enviar o backup realizado para um conta no Amazon S3, que é o web service de storage da Amazon, siga as instruções abaixo que foram retiradas deste link.

Antes de mais nada, instale o ruby 1.8.4 ou mais novo e a biblioteca de ssl para o ruby.
1.	$ sudo apt-get install ruby libopenssl-ruby

Confirme a versão do ruby:


1.	$ ruby -v
2.	ruby 1.8.6 (2008-03-03 patchlevel 114) [i686-linux]

Agora vamos instalar o s3sync que é um script de sincronização de diretórios locais com diretórios no S3.

Vá para o diretório que você deseja instalar o s3sync, como por exemplo /usr/local/scripts
1.	$ cd /usr/local/scripts

Faça o download e descompacte:

1.	$ wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
2.	$ tar xvzf s3sync.tar.gz

Remova o arquivo compactado:

1.	$ rm s3sync.tar.gz

Crie um diretório para os certificados e baixe alguns:

1.	$ cd s3sync
2.	$ mkdir certs
3.	$ cd certs
4.	$ wget http://mirbsd.mirsolutions.de/cvs.cgi/~checkout~/src/etc/ssl.certs.shar

Rode o instalador dos certificados.

1.	$ sh ssl.certs.shar

Pronto, s3sync instalado!

Vamos agora criar um script que pega os últimos arquivos de backup e envia para a sua conta do S3.

Crie o arquivo de script com o conteúdo abaixo. Exemplo: /usr/local/scripts/automysqlbackup-upload-to-s3.sh

1.	#!/bin/bash
2.	cd /usr/local/scripts/s3sync
3.	export AWS_ACCESS_KEY_ID=yourS3accesskey
4.	export AWS_SECRET_ACCESS_KEY=yourS3secretkey
5.	export SSL_CERT_DIR=/usr/local/scripts/s3sync/certs
6.	ruby s3sync.rb -r -ssl -delete /backups/latest nomedobucket:backup/mysql

Observações:

  • O comando -delete diz para o s3sync excluir os arquivos que existem no S3 mas não existem mais na pasta local.
  • Para enviar somente os últimos backups (diretório latest), é necessário que o parâmetro LATEST seja igual a yes no AutoMySQLBackup
  • Atenção para o nome do bucket, para os paths e principalmente para o path /backups/latest que deve conter o diretório que está configurado no parâmetro BACKUPDIR do AutoMySQLBackup concatenado com "/latest".

O último passo é configurar o AutoMySQLBackup para rodar o script de envio dos arquivos para o S3 logo após cada backup.

Para isso altere o parâmetro POSTBACKUP como o exemplo abaixo:

1. # Command run after backups (uncomment to use)

2. POSTBACKUP="/usr/local/scripts/automysqlbackup-upload-to-s3.sh"

[b][i]Parabéns, você já está com um backup seguro e eficiente!

Abraços e até a próxima.[/i][/b]

Todos os artigos de Rafael Lima

2 comentários publicados

  • 1. Muito interessante

    Terça-feira, 29/04/2008, por André Metzen

    Esse esquema da Amazon para backup é muito interessante. O custo de armazenamento e transferencia com ele é muito baixo. O twitter por exemplo armazenas as imagens de seus usuários no Amazon S3.

    Parabens pelo artigo!

    Responder comentário
  • 2. Backup MySQL e PostgreSQL

    Sábado, 21/03/2009, por Ronneesley Moura Teles

    Olá, também fiz um script para backup só que em bash,
    quem quiser pode acessar http://analistasi.com.br/?p=49 ou pesquisar no site www.analistasi.com.br

    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Rafael Lima é sócio-administrador da BielSystems, escreve aqui e em seu blog rafael.adm.br sobre tecnologia, internet, administração, desenvolvimento, aplicações web, SaaS e web-marketing.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.