Shell script: Importar dumps SQL verificando MD5

In: bash

9 abr 2009

Integrar sistemas ERP antigos com aplicações web normalmente é algo complicado.  Quando a carga de informações tem um tamanho considerável e a frequência de atualização é alta, os problemas aumentam.

Em duas aplicações web desenvolvidas na Tecmedia, o desenvolvedor do ERP envia arquivos de dump SQL para o servidor web em um intervalo de tempo pré-definido. Para importar estes arquivos com segurança, implementei um shell script que que verifica a integridade usando md5sum, descompacta os dumps .sql.bz2 e importa os dados diretamente no MySQL.

#!/bin/bash
db_host="localhost"
db_name="database"
db_user="root"
db_pass=""
file_path="/full/path"
 
while read LINE; do
HASH=`echo $LINE | awk '{print $1}'`
  FILE=`echo $LINE | awk '{print $2}'`
 
  if test "`md5sum $file_path/$FILE | awk '{print $1}'`" = $HASH; then
echo "Importando arquivo: $FILE ..."
    bzip2 -d < $file_path/$FILE | mysql -h $db_host -u $db_user -D $db_name -p$db_pass -f -H
    echo "OK"
  else
   echo "Erro no MD5 do arquivo: $FILE"
     # TODO:
     # Enviar email avisando da falha
  fi
done < $file_path/MD5SUMS

Optei pelo uso de shell script para evitar sobrecarregas sem necessidade em outros serviços do servidor, como Apache, PHP, etc.

Não gostou da solução? Faça um fork dela e me avise! ;-)

Comment Form

Sobre

Ricardo Duarte, 26 anos, trabalha na Nuntec, atua como desenvolvedor web a mais de 12 anos, já tendo passado por diversas tecnologias. Este blog irá comentar um pouco destas experiências.

rduarte's tweets

  • Venicios Ribeiro: É uma excelente forma de ativar o cache. Existem tbm outras tecnicas muito simples, como o Gzip. à [...]
  • Andre Ferraro: Muito bom!! Estou fazendo o meu e vou postar no meu blog. Vlw!! [...]
  • paulo henrique: Bom dia! existe algum app para usar o twitter no e71, que seja free [...]
  • Ricardo: Bruno, Aplicativo para IM com vídeo eu não conheço, mas para áudio você pode usar o Nimbuzz [...]
  • Bruno: Olá boa tarde. Gostaria de saber qual software IM pro E71 suporta conversação com áudio e video. [...]