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 local login="nome_do_usuario_do_mysql" # Login do Usuário que será o agente de backup pw="senha" # Senha do Usuário do agente de backup
dbs="usuario_base1 usuario_base2 usuario base3" # Adicionar as bases para o backup
home=/home/seu_usuario/pasta_do_backup # Diretorio 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 a armazenar dos bancos 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 --databases $dbs --add-drop-database > "$HOME/$hs.sql" 2>&1 | grep -vi "Warning: Using a password" 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