Faça uma pesquisa...
Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt

Backups Automáticos para banco de dados Mysql

Como programar backups automáticos de seu banco de dados.

Necessidade de um Backup

Hoje em dia é essencial que um administrador possua alguma rotina de backup diário do seu banco de dados. A DialHost possui uma rotina de backup onde faz uma cópia de segurança diária das suas bases de dados.

Veja nossa wiki sobre Backup.

Neste documento, mostraremos como criar sua própria rotina de backup para sua base de dados Mysql e armazená-la em sua  hospedagem.

Criando sua rotina de backups

Criação do arquivo em código shell

#!/bin/bash

#Variaveis
server="localhost"                    #Servidor mysql
login="nome_do_usuario_do_mysql"     #login da base
pw="senha"                        #senha
home=/home/seu_usuario/pasta_do_backup  # local onde será salvo o backup
nome_temp="all"                          #nome do arquivo temporário mysql
bk="$HOME/backup_mysql/"                #Diretório para salvar arquivos de backup
nw=$(date "+%Y%m%d")              #Buscar pela data
nb=3                             #número de cópias do banco de dados
hs="backup"                      #nome do arquivo compactado
function backup()
{
 echo "Realizando backup do servidor mysql"
 mysqldump -u$login -p$pw -h$server --add-drop-table --quote-names --all-databases --add-drop-database > "$HOME/$hs.sql"
 echo "Compactando arquivo de backup $hs.sql.gz ..."
 gzip -f "$HOME/"$hs.sql
 if [ ! -d $bk ]; then
   mkdir $bk
 fi
 cp -f "$HOME/"$hs.sql.gz "$bk/$nw.sql.gz"

 a=0
 b=$(ls -t $bk)
 c=$nb

 for arq in $b; do
   a=$(($a+1))
   if [ "$a" -gt $c ];  then
     rm -f "$bk/$arq"
   fi
 done
}
backup

Pronto! Está feito o seu código em shell que irá realizar um backup diário da sua base de dados, armazenando sempre os últimos 3 dias.

A compactação do arquivo gerará um arquivo com a extensão .sql.gz. Para descompactá-lo poderá usar programas como Winrar, Winzip.

Poderá salvar arquivo com o código acima com seguinte nome: backup_mysql.sh – Salve ele diretamente na raíz da sua hospedagem, no mesmo nível de public_html/.

Lembre-se apenas de dar permissão 755 no arquivo a ser executado.

Atenção: O código mencionado acima é somente um exemplo. Caso haja dúvidas quanto sua utilização, sugerimos que verifique juntamente a um desenvolvedor de sua confiança.

Agendando o Cron que realizará o backup diariamente ou semanalmente

A partir dai você mesmo pode criar seu próprio agendamento utilizando a sintaxe padrão do Cron.

Veja nossa wiki sobre Como criar uma tarefa Cron Job?

Minuto: 00 
Hora: 2 
Dia do Mês: * 
Mês: * 
Dia da Semana: * 
Comando: /bin/bash /home/login_ftp/backup_mysql.sh

Esse artigo te ajudou?

Não encontrou o que procurava? Faça uma nova busca!

Faça uma pesquisa...
Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt