você está aqui: Home  → Arquivo de Mensagens

AutoMySQLBackup - Uma solução para Backup de Bases de Dados MySQL

Colaboração: Ernesto Charles Niklaus

Data de Publicação: 20 de outubro de 2013

Em 2011 publiquei uma dica usando comando Find para deleção de arquivos, e usei a limpeza de antigos arquivos de backup da minha base de dados usando esta ferramenta como exemplo. Nos comentários da dica o André Gomes havia me perguntado sobre esta ferramenta de backup de MySQL e respondi apenas mandando o link.

Hoje lendo a dica do Cesar Brod sobre "Por que contribuir para o Dicas-L", resolvi reler minhas dicas e procurar algo que tenha sido publicado sobre esta poderosa ferramenta. Como não encontrei nada decidi compartilhar o que para mim tem sido a solução para backup das minhas bases de dados Mysql.

Vamos à Dica:

AutoMySQLBackup

AutoMySQLBackup com uma configuração simples pode criar backups Diários, Semanais e Mensais de uma ou mais bases de dados MYSQL localizados em um ou mais servidores. Além disso esta ferramenta inclui funções como:

  • Notificação por E-Mail
  • Compressão e Criptografia dos arquivos de Backup
  • Rotação de Backup Configurável
  • Backup Incremental da Base de Dados
  • Pode enviar o arquivo de backup por e-mail
  • Permite configurar comandos de pré e pós processamento

Instalação

  1. Faça o download do script no SourceFourge: http://sourceforge.net/projects/automysqlbackup
  2. Descompacte o scriptusando o comando "tar -xvf" no seu diretório home
  3. Execute o script install.sh
  4. Caso você tenha optado pelas configurações padrão o arquivo de configuração estará em /etc/automysqlbackup/

Configuração do Script

  1. Abra o arquivo de configuração automysqlbackup.conf, como você pode perceber ele tem muitas opções, porém vamos tratar nesta dica das mais básicas.
  2. Localize as linhas abaixo no arquivo de configuração, remova o # conforme abaixo e insira seu usuário e senha com permissão para acesso às bases de dados:

      # Username to access the MySQL server e.g. dbuser
      CONFIG_mysql_dump_username='seu usuário, pode ser o root'
      # Password to access the MySQL server e.g. password
      CONFIG_mysql_dump_password='sua senha'
      # Host name (or IP address) of MySQL server e.g localhost
      CONFIG_mysql_dump_host='localhost ou ip do seu servidor MYSQL'
      # Backup directory location e.g /backups
      CONFIG_backup_dir='/pasta/onde/ficara/o/backup'
    

  3. Para configurar quais bases você quer inserir no backup edite esta área do arquivo de configuração:

      # Databases to backup
      
      # List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... )
      # set to (), i.e. empty, if you want to backup all databases
      #CONFIG_db_names=()
      # You can use
      #declare -a MDBNAMES=( "${DBNAMES[@]}" 'added entry1' 'added entry2' ... )
      # INSTEAD to copy the contents of $DBNAMES and add further entries (optional).
      
      # List of databases for Monthly Backups.
      # set to (), i.e. empty, if you want to backup all databases
      #CONFIG_db_month_names=() -> Aqui insira o nome das bases de dados, ou deixe em branco para fazer backup de todas
      
      # List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
      #CONFIG_db_exclude=( 'information_schema' )
      
      # List of tables to exclude, in the form db_name.table_name
      # You may use wildcards for the table names, i.e. 'mydb.a*' selects all tables starting with an 'a'.
      # However we only offer the wildcard '*', matching everything that could appear, which translates to the
      # '%' wildcard in mysql.
      #CONFIG_table_exclude=()
    

Colocando o brinquedo para funcionar

Se você utilizou o install.sh o configurador já colocou o script em /usr/sbin/automysqlbackup. então é só executar automysqlbackup e ver seu backup aparecer na pasta selecionada.

Para automatizar o processo, você pode incluir uma chamada do script em cron.daily

  $ vi /etc/cron.daily
  
  #!/bin/sh
  test -x /usr/sbin/automysqlbackup && /usr/sbin/automysqlbackup
Ernesto Charles Niklaus é especialista em EDI na Applied Solutions


Veja a relação completa dos artigos de Ernesto Charles Niklaus