BLOGleias as últimas publicações

Muitos tutoriais e dicas sobre Windows Server, Linux, Servidores e muitos outros

Tutorial - Automatizando Backup dos Bancos de Dados Mysql Server em ShellScripts

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:

DatabasemeuBanco

HostLocalhost

Usuariojcarlos

Senha1234

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.

Implementando Webmin no CentOs 6.3

Webmin é uma interface baseada na web para administração do sistema para Unix. O uso de qualquer navegador moderno, você pode configurar contas de usuário, Apache, DNS, compartilhamento de arquivos e muito mais. Webmin elimina a necessidade de editar manualmente os arquivos de configuração do Unix como o / etc / passwd, e permite-lhe gerir um sistema a partir do console ou remotamente.  

Vamos ao que interessa… A instalação!!!!

Primeiro Passo:

- Vamos adicionar o repositório do WEBMIN com o seguintes comandos:

cat > /etc/yum.repos.d/webmin.repo << EOF 

[Webmin]

name=Webmin Distribution Neutral

#baseurl=http://download.webmin.com/download/yum

mirrorlist=http://download.webmin.com/download/yum/mirrorlist

enabled=1

EOF 

Segundo Passo: 

- Vamos importar GPG Key: 

 

wget http://www.webmin.com/jcameron-key.asc

rpm --import http://www.webmin.com/jcameron-key.asc 

Terceiro Passo: 

- E finalmente, vamos instalar o WEBMIN: 

yum –y install webmin 

Para ter acesso ao WEBMIN, basta apenas digitar no seu browser: 

http://ipdoservidor:10000 (digite o ip do host ou nome do host). A senha gerida, sempre será que esta definida no usuário root. 

 

Um abraço, 

 

Jose Carlos Oliveira 

 

Implementando BACULA BACKUP CentOS 6.3 em 7 Passos

Caros amigos leitores,

Com a indisponibilidade financeira para aquisição do ArcServe Backup da CA e que usei durante anos, tive que optar por uma solução de backup Opensource. Após vários teste com o que poderia e o que estava ativo no mercado, optei em utilizar o BACULA

Bom, nesta inicial vou apenas explicar como implementar o sistema de backup Bacula em um servidor com sistema operacional CENTOS 6.3 X86_64.

Notas importantes: Sugere-se que antes de começar, você faz alterações de firewall no iptables. As portas necessitaram estar abertas 9101-9102-9103. No meu exemplo estarei usando um servidor com discos rígidos.

Primeiro Passo:

Certifique-se de que você tem o repositório do EPEL x86_64.

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm

Nota: Isso muda, às vezes. Se isso acontecer, certifique-se de obter a versão mais recente, indo para http://download.fedoraproject.org/pub/epel/6/x86_64

Segundo Passo:

Instale o MYSQL & BACULA - Nota: Bacula pode usar o MySQL ou PostgreSQL.

yum install mysql-devel mysql-server

yum install bacula-storage-mysql

yum install bacula-director-mysql bacula-console

yum install bacula-client

Terceiro passo:

Vamos iniciar o MYSQL e criar o usuario de administração do servidor do banco de dados.

service mysqld start

chkconfig mysqld on

Quarto Passo:

Vamos adicionar os scripts de SQL, onde serão criados os bancos de dados, usuarios, GRANTs de usuarios. DICA:  (-u root -p significa login com o usuário root e solicitará a senha ...)

#/usr/libexec/bacula/grant_mysql_privileges -u root –p

#/usr/libexec/bacula/create_mysql_database -u root –p

#/usr/libexec/bacula/make_mysql_tables -u root –p

#/usr/libexec/bacula/grant_bacula_privileges -u root –p

Quinto Passo:

Agora vem a parte super divertida (kkkk)! Você precisará alterar todos os seus arquivos de configuração com novas senhas e endereços (senha de banco de dados, endereço do servidor DIR, endereço do servidor SD, e assim por diante).

The Director

vi /etc/bacula/bacula-dir.conf

O Console

#vi /etc/bacula/bconsole.conf

Altere a senha e o endereço:

O Storage Daemon

#vi /etc/bacula/bacula-sd.conf:

O File Daemon

vi /etc/bacula/bacula-fd.conf

Sexto Passo:

Todos notaram que disse o daemon de armazenamento que o dispositivo foi Arquivo / backup. Vamos agora criar / backup e alterar a propriedade para Bacula para que possa escrever lá. Isso é fácil!

#mkdir /backup

#chown bacula /backup

Sétimo Passo:

É isso aí. Você instalou bacula. Agora é hora de iniciar o serviço e também certificar-se de serviços Bacula iniciar automaticamente na reinicialização (chkconfig)!

#service bacula-dir start

#service bacula-fd start

#service bacula-sd start

#chkconfig bacula-dir on

#chkconfig bacula-fd on

#chkconfig bacula-sd on

Você terminou, Bacula está em execução. Como manter isso? Bem. Há algumas maneiras. Você pode atualizar os arquivos de configuração para adicionar clientes, volumes, etc Isso só vai depender de como você está confortável com configs na sua edição. No entanto, pode ficar chato para editar configs ... então existem algumas alternativas, como o webmin (CLIQUE AQUI para saber como implementar).

 

Valeu… Até a próxima!!!