Backups Automáticos para banco de dados Mysql

Necessidades de um Backup

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

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

 

Alertamos que o uso deste foi homologado apenas para bases com tamanho igual ou inferior à 60MB e por isso não garantimos que o mesmo seja funcional para bases de dados com grandes quantidades de dados!

 

Criando sua rotina de backups

Criação do arquivo em código shell

 

#!/bin/bash  #Variaveis server="mysql.dominio.com.br"                    #Servidor mysql login="nome_do_usuario_do_mysql"     #login da base pw="senha"                        #senha 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. Os arquivos de backups serão compactados e ficarão salvos em:

/home/login-de-FTP/backup_mysql/

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/.

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.