Banco de Dados

9 abr, 2012

10 Dicas para programar em SHELL SCRIPT

Publicidade

No artigo de hoje, vou falar sobre algumas boas práticas para desenvolver códigos em Shell Script. A ideia me ocorreu porque eu já pude presenciar, em alguns casos, alguns DBAs que possuem uma certa dificuldade para desenvolver scripts SHELL (Linux ou Unix). E, muitas vezes, isso ocorre por falta de entendimento do funcionamento do SHELL (bash, ksh, etc.). Como SHELL SCRIPT também é uma linguagem, são necessários alguns cuidados ao montar scripts. Então, hoje vou resumir de maneira objetiva algumas regras básicas para escrever um script SHELL:

1. Especificar qual SHELL será utilizado

É pré-requisito em qualquer programa escrito em SHELL SCRIPT definir qual SHELL será utilizado.

2. Comentários e descrição do Script

Esta seção tem como objetivo descrever o objetivo do script e suas funcionalidades. Isso te ajuda a lembrar porque o script foi escrito, e para qual função.

3. Declarar variáveis

Muitas vezes, observo scripts sem declaração de variáveis. Isso impacta no funcionamento dos comandos ao longo do script.

Lembre-se: Quando o script é executado, será aberto um novo SHELL e com isso nenhuma variável declarada de sua sessão atual será utilizada. Declarar variáveis é PRIMORDIAL, assim como em qualquer outra linguagem de programação.

4. Identação

Muitas pessoas acreditam que identar scripts não é necessário. Para funcionar não, porém para entendimento próprio ou de outro DBA / analista é extremamente necessário. identação é sinônimo de organização e facilita o entendimento posterior.

5. Comentários fase-a-fase

Procure descrever em comentários o que cada parte do script irá executar. Isso lhe ajudará a fazer melhorias e “debugar” possíveis problemas futuros.

6. LOGs

Mantenha logs de todos os seus scripts. Preferencialmente especificando o arquivo de LOG dentro do script, como variável. Para análise posterior em execuções será muito mais fácil encontrar possíveis erros.

Utiliza preferencialmente arquivos de LOGs com datas, isso previne que arquivos de LOGs sejam sobrescritos.

7. Corpo do Script (Body)

Utilize suas variáveis declaradas no início do script. Isso ajuda a não fixar valores, podendo reaproveitar o script posteriormente.

8. Valide a execução de cada comando

De nada adianta um script que executa cem tarefas e não valida nenhuma. Isso é o mais COMUM de se ver em scripts. Um comando executao sem análise de “Return Code” não tem integridade alguma. Procure sempre analisar passo-a-passo sua execução.

9. Mantenha nomes coerentes

Procure manter o nome de seus scripts coerentes. Procure relacionar o nome com a atividade. Ex: “bkp_rman_full.sh”, “bkp_expdp_full.sh”, etc..

10. Valide sempre as execuções de seus scripts

Este provavelmente é o passo mais importante. Valide sempre as execuções de seus scripts, acompanhe os logs (diários, mensais etc). Neles você poderá encontrar erros ou melhorias. Se possível, implemente algum recurso de monitoração.

CRONTAB

As dicas acima são válidas também para execução de scripts via CRONTAB. O daemon “crond” executa em SHELL separado, e também exige que todos os comandos e variáveis sejam corretamente definidos.

Existem muito mais regras/dicas que podem ser seguidas para otimizar as funcionalidades de seus scripts, essas são apenas algumas.

Procure sempre manter a organização e o fácil entendimento para que não ocorram futuros “desconfortos”.

Bom, é isso. Até a próxima!