Optimize Table com Shell Script

Posted: May 23, 2011 in Comandos, Linux, Shell Script
Tags: , , ,

E lá vou eu, fazer mais um pequeno script, com a ajuda do @rafaelsdm!

Esse script tem como objetivo, rodar um OPTMIZE TABLE nas tabelas de uma determinada database rodando em mysql.

O primeiro “desafio” era listar todas as tabelas e depois, mandar o comando rodar em cima de cada uma das tabelas.
E o mais legal de tudo isso, é que o script inteiro, tem apenas 6 linhas!

Sem mais delongas… olhem só script ae:

#!/bin/bash
for i in `echo “show tables;” |mysql -uusername database_name`
do
echo ‘OPTIMIZE TABLE’ $i | mysql -uusername -h localhost database_name >> /tmp/tabelas.txt
echo “Tabela $i Ok”
done

Uma breve explicação…

Falei para rodar o comando show tables, indiquei a tabela e a cada saida, ele iria executar o optimize, jogando a saída do comando para o /tmp/tabelas.txt.
Depois ele só imprimia uma mensagem de OK (Só para enfeitar mesmo =P).

Peguei o tabelas.txt importei para o Excel e ele já abriu o arquivo em colunas. Ordenei as colunas (ainda no Excel) e removi as linhas duplicadas, assim a visualização do log fica bem mais fácil. Principalmente, porque no meu caso, vi erros em poucas tabelas e porque também tinha que enviar esse log para algumas pessoas.

Bom, é isso pessoal! Espero ter ajudado ou dado uma idéia para vocês😉

Até mais! o/

Comments
  1. Marcelo Altmann says:

    belo post.
    para garantir um bom desempenho no banco de dados sempre é bom rodar um optimize uma vez por semana/mes dependendo como for a regularidade de updates e deletes
    abraço!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s