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.5Edite 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=yesColoque o script para rodar no cron diariamente.
1. $ cd /etc/cron.daily
2. $ ln -s /usr/local/scripts/automysqlbackup.sh.2.5 automysqlbackupPara 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-rubyConfirme 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/scripts1. $ cd /usr/local/scriptsFaça o download e descompacte:
1. $ wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
2. $ tar xvzf s3sync.tar.gzRemova o arquivo compactado:
1. $ rm s3sync.tar.gzCrie 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.sharRode o instalador dos certificados.
1. $ sh ssl.certs.sharPronto, 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/mysqlObservações:
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]
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!

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
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.
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.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.