Como fazer backup/restaurar o mysql/mariadb e o postgreSql usando 'Automysqlbackup' e 'AutoPostGresqlbackup'

- 2773
- 699
- Howard Fritsch
Se você é um administrador de banco de dados (DBA) ou são responsáveis por manter, fazer backup e restaurar bancos de dados, você sabe que não pode se dar ao luxo de perder dados. O motivo é simples: perder dados não significa apenas a perda de informações importantes, mas também pode danificar seus negócios financeiramente.

Por esse motivo, você deve sempre ter certeza de que:
1. Seus bancos de dados são backup de uma base periódica,
2. Esses backups são armazenados em um local seguro, e
3. Você realiza exercícios de restauração regularmente.
Esta última atividade não deve ser esquecida, pois você não deseja encontrar um problema importante sem ter praticado o que precisa ser feito em tal situação.
Neste tutorial, apresentaremos dois utilitários agradáveis para fazer backup Mysql / Mariadb e PostGresql bancos de dados, respectivamente: automysqlbackup e AutoPostGresqlbackup.
Como o último é baseado no primeiro, focaremos nossa explicação em automysqlbackup e destacar diferenças com Autopgsqlbackup, se houver alguma.
É fortemente recomendável armazenar os backups em um compartilhamento de rede montado no diretório de backup para que, no caso de um acidente em todo o sistema, você ainda seja coberto.
Leia os seguintes guias úteis no MySQL:
Comandos de administração de banco de dados básicos do mysql mysql e comandos de restauração para administração de banco de dadosInstalando bancos de dados MySQL / Mariadb / PostgreSQL
1. Este guia assume que você deve ter Mysql / Mariadb / PostGresql Extembro em execução, se não, instale os seguintes pacotes:
Distribuições baseadas em Fedora:
# yum update && yum instalar mariadb mariadb-servidor mariadb-libs postgresql postgresql-server postgreSql-libs
Debian e derivados:
# Aptitude Update && Aptitude Instale MariadB-Client Mariadb-Server Mariadb-Common PostgreSql-Client PostgreSql PostGresql-Common
2. Você tem um teste Mysql / Mariadb / PostGresql banco de dados que você pode usar (você é aconselhado NÃO use também automysqlbackup ou AutoPostGresqlbackup em um ambiente de produção até você se familiarizar com essas ferramentas).
Caso contrário, crie dois bancos de dados de amostra e preenchi -los com dados antes de prosseguir. Neste artigo, usarei os seguintes bancos de dados e tabelas:
Mysql/mariadbCriar banco de dados mariadb_db; Criar tabela Tecmint_tbl (UserID int Auto_increntry Primária Chave, nome de usuário Varchar (50), BOOL ISACTIVO);

Criar banco de dados postgresql_db; Crie Tabela Tecmint_tbl (Chave primária serial do usuário, nome de usuário VARCHAR (50), ISActive boolean);

Instalando o AutomySQLbackup e o Autopgsqlbackup no CentOS 7 e Debian 8
3. Em Debian 8, Ambas as ferramentas estão disponíveis nos repositórios; portanto, instalá -las é tão simples quanto em execução:
# Aptitude Install Automysqlbackup AutoPostGresqlbackup
Enquanto que entra CENTOS 7 Você precisará baixar os scripts de instalação e executá -los. Nas seções abaixo, vamos nos concentrar exclusivamente na instalação, configuração e teste dessas ferramentas em CENTOS 7 Desde para Debian 8 - Onde eles quase trabalham fora da caixa, faremos os esclarecimentos necessários posteriormente neste artigo.
Instalando e configurando o AutomySQLbackup no CentOS 7
4. Vamos começar criando um diretório de trabalho dentro /optar
Para baixar o script de instalação e executá -lo:
# mkdir/opt/automysqlbackup # cd/opt/automysqlbackup # wget http: // ufpr.dl.sourceforge.net/Project/Automysqlbackup/Automysqlbackup/Automysqlbackup%20Ver%203.0/AutomySQLbackup-V3.0_RC6.alcatrão.gz # tar zxf automysqlbackup-v3.0_RC6.alcatrão.GZ # ./instalar.sh
. Instalando o AutomysQLbackup no CentOS-7
5. O arquivo de configuração para automysqlbackup está localizado dentro /etc/automysqlbackup sob o nome MyServer.conf. Vamos dar uma olhada nas diretivas de configuração mais relevantes:
MyServer.conf - configure automysqlbackup# Nome de usuário para acessar o MySQL Server config_mysql_dump_username = 'raiz' # Senha config_mysql_dump_password ='Seu masspordhere' # Nome do host (ou endereço IP) do MySQL Server config_mysql_dump_host ='LocalHost' # Backup Directory config_backup_dir ='/var/backup/db/automysqlbackup' # Lista de bancos de dados para backup diário/semanal e.g. ('Db1 "db2" db3'…) # definido como (), eu.e. vazio, se você deseja fazer backup de todos os bancos de dados config_db_names = (Nomes de addyourdatabase aqui) # Lista de bancos de dados para backups mensais. # definido como (), eu.e. vazio, se você deseja fazer backup de todos os bancos de dados config_db_month_names = (Nomes de addyourdatabase aqui) # Em que dia você deseja backups mensais? (01 a 31) # Se o dia escolhido for maior que o último dia do mês, será feito # no último dia do mês. # Definido como 0 para desativar backups mensais. Config_do_monthly = "01" # Em que dia você quer backups semanais? (1 a 7 onde 1 é segunda -feira) # definido como 0 para desativar backups semanais. Config_do_weekly = "5" # Defina a rotação de backups diários. Valor*24 horas # Se você quiser manter apenas os backups de hoje, você pode escolher 1, eu.e. Tudo com mais de 24 horas será removido. Config_rotation_daily =6 # Defina a rotação para backups semanais. Valor*24 horas. Um valor de 35 significa 5 semanas. Config_rotation_weekly =35 # Defina a rotação para backups mensais. Valor*24 horas. Um valor de 150 significa 5 meses. Config_rotation_monthly =150 # Incluir uma instrução CREATE DATABASE no backup? Config_mysql_dump_create_database ='não' # Diretório de backup separado e arquivo para cada banco de dados? (sim ou não) config_mysql_dump_use_separate_dirs ='sim' # Escolha o tipo de compactação. (gzip ou bzip2) config_mysql_dump_compression ='gzip' # O que você gostaria de ser enviado para você? # - LOG: Envie apenas o arquivo de log # - Arquivos: Envie o arquivo de log e os arquivos SQL como anexos (consulte os documentos) # - stdout: Simplesmente produzirá o log na tela se executar manualmente. # - Quiet: Envie apenas logs se ocorrer um erro ao MailAddr. Config_mailContent ='quieto' # Endereço de e -mail para enviar e -mail para? ([email protegido]) config_mail_address ='raiz' # Deseja criptografar seus backups usando o OpenSSL? # Config_encrypt = 'não' # Escolha uma senha para criptografar os backups. #Config_encrypt_password = 'senha0123' #comando para executar antes de backups (não nomear) #config_prebackup = "/etc/mysql-backup-pre" #comando após backups (não use) #config_postbackup = "/etc//mysql-backup -publicar"
Depois de configurar automysqlbackup Conforme suas necessidades, você está altamente aconselhado a verificar o Leia-me arquivo encontrado em /etc/automysqlbackup/readme.
Backup de banco de dados MySQL
6. Quando estiver pronto, vá em frente e execute o programa, passando o arquivo de configuração como argumento:
# automysqlbackup/etc/automysqlbackup/myServer.conf

Uma rápida inspeção do diário diretório mostrará que automysqlbackup correu com sucesso:
# pwd # ls -lr diariamente

Claro que você pode adicionar uma entrada crontab para executar automysqlbackup em uma hora do dia que melhor atende às suas necessidades (1:30 estou todos os dias no exemplo abaixo):
30 01 * * */usr/local/bin/automysqlbackup/etc/automysqlbackup/myserver.conf
Restaurando um backup do MySQL
7. Agora vamos deixar cair o mariadb_db Banco de dados de propósito:

Vamos criá -lo novamente e restaurar o backup. No prompt de mariadb, digite:
Criar banco de dados mariadb_db; saída
Em seguida, localize:
# cd/var/backup/db/automysqlbackup/diário/mariadb_db # ls

E restaure o backup:
# mysql -u root -p mariadb_db use mariadb_db; Mariadb [(nenhum)]> selecione * de tecmint_tb1;

Instalando e configurando o AutoPostGresqlbackup no CentOS 7
8. Para AutoPostGresql trabalhar perfeitamente em CENTOS 7, Precisamos instalar algumas dependências primeiro:
# yum instalar mutt sendmail
Então vamos repetir o processo como antes:
# mkdir/opt/autopostgresqlbackup # cd/opt/autopostgresqlbackup # wget http: // ufpr.dl.sourceforge.net/Project/Autopgsqlbackup/AutoPostGresqlbackup/AutoPostGresqlbackup-1.0/AutoPostGresqlbackup.sh.1.0 # MV AutoPostGresqlbackup.sh.1.0/opt/AutoPostGresqlbackup/AutoPostGresqlbackup.sh
Vamos fazer o script executável e começar / habilitar o serviço:
# chmod 755 AutoPostGresqlbackup.sh # SystemCtl Iniciar PostGresql # SystemCtl Ativar PostGresql
Finalmente, editaremos o valor da configuração do diretório de backup para:
AutoPostGresqlbackup.SH - Configure AutoPostGresqlbackupBackupdir = "/var/backup/db/autopostgresqlbackup"
Depois de passar pelo arquivo de configuração de automysqlbackup, Configurar esta ferramenta é muito fácil (essa parte da tarefa é deixada para você).
9. Em CENTOS 7, em oposição a Debian 8, AutoPostGresqlbackup é melhor correr como o PostGres Usuário do sistema, portanto, para fazer isso, você deve mudar para essa conta ou adicionar uma tarefa cron ao seu arquivo Crontab:
# Crontab -u PostGres -e
30 01 * * */opt/AutoPostGresqlbackup/AutoPostGresqlbackup.sh
O diretório de backup, a propósito, precisa ser criado e suas permissões e propriedade do grupo devem ser definidas de forma recursiva para 0770 e PostGres (novamente, isso não será necessário em Debian):
# mkdir/var/backup/db/autopostgresqlbackup # chmod -r 0770/var/backup/db/autopostgresqlbackup # chgrp -r postgres/var/backup/db/autopostgresqbackup
O resultado:
# cd/var/backup/db/autopoSTGRESQLbackup # pwd # ls -lr diariamente

10. Agora você pode restaurar os arquivos quando necessário (lembre -se de fazer isso como PostGres do usuário depois de recriar o banco de dados vazio):
# Gunzip -C PostgreSQL_DB_2015-09-02.Quarta-feira.SQL.gz | PSQL POSTGRESQL_DB
Considerações no Debian 8
Como mencionamos anteriormente, não apenas a instalação dessas ferramentas em Debian é mais direto, mas também suas respectivas configurações. Você encontrará os arquivos de configuração em:
- Automysqlbackup:/etc/default/automysqlbackup
- AutoPostGresqlbackup:/etc/default/AutoPostGresqlbackup
Resumo
Neste artigo, explicamos como instalar e usar automysqlbackup e AutoPostGresqlbackup (Aprendendo a usar o primeiro ajudará você a dominar o segundo), duas ótimas ferramentas de backup de banco de dados que podem tornar suas tarefas como um DBA ou administrador / engenheiro do sistema.
Observe que você pode expandir este tópico configurando notificações por e -mail ou enviar arquivos de backup como anexos por e -mail - não é necessário estritamente, mas pode ser útil às vezes.
Como nota final, lembre -se de que as permissões de arquivos de configuração devem ser definidas para o mínimo (0600 na maioria dos casos). Estamos ansiosos para ouvir o que você pensa sobre este artigo. Sinta -se à vontade para nos deixar uma nota usando o formulário abaixo.
- « Instalar YouTube -DL - uma ferramenta de download de vídeo da linha de comando para Linux
- Showterm.io - uma ferramenta de gravação de terminal/shell, carregamento e compartilhamento para Linux »