O Funcionamento do mysqldump é bem simples, é um cliente que cria arquivos ou scripts com todo conteúdo do DB, ou o conteúdo de uma banco, ou tabelas de uma banco. Neste caso iremos fazer o backup de um banco do SGBD MySQL.
Crie um arquivo com o seguinte conteúdo:
$vim backupbd.sh
#!/bin/sh
#backupbd.sh
##################################
##### Definindo as variaveis
##################################
DATA="`date +%d-%m-%Y-%H%M`"
NOME="/caminhodobackup"
BACKUPDIR="cd /caminhodobackup"
HOST="enderecodoBD"
USER="usuarioBD"
PASSWORD="senhaBD"
DATABASE="nomedobanco"
################################################
##### Realizando o backup da base de dados
################################################
$BACKUPDIR
mysqldump --host=$HOST --user=$USER --password=$PASSWORD --databases $DATABASE | gzip > $NOME/BACKUPDB-$DATA.sql.gz
###################################################
#####Ira compactar o arquivo no formato gzip com o
##### o nome BACKUPDB-dia-mes-ano-horaminuto.sql.gz
###################################################
###Fim do aquivo
Torne o arquivo executável:
$chmod u+x bacjupdb.sh
Após criar o arquivo e torná-lo executável, crie um agendamento no crontab inserindo a seguinte linha:
$vim /etc/crontab
01 00 * * * root /caminhodoarquivo/backupdb.sh
###Fim do arquivo.
Obs.: Neste caso o agendamento do backup é para todos os dias às 00:01, mas pode ser ajustado de acordo com a necessidade.
Como em toda boa estrutura é necessário pensar em um plano de contenção, ou oque fazer quando ocorrer o problema. Neste caso, se for necessário restaurar o banco, basta apenas descompactar o arquivo .gz e redirecionar a entrada padrão do arquivo para o mysql:
$gunzib BACKUPDB-dia-mes-ano-horaminuto.sql.gz
$mysqldump --host=end.host --user=usuarioBD --password=senhaBD --databases nomedobanco < BACKUPDB-dia-mes-ano-horaminuto
Nenhum comentário:
Postar um comentário