10 Dicas para programar em SHELL SCRIPT
Melhores práticas para desenvolver códigos em Shell Script
Já pude presenciar em alguns casos, alguns DBAs que possuem uma certa dificuldade para desenvolver scripts SHELL (Linux ou Unix).
Em muitos casos, ocorrem dúvidas por falta de entendimento do funcionamento do SHELL (bash, ksh, etc..)
Como SHELL SCRIPT também é uma linguagem, é necessário alguns cuidados ao montar scripts.
Neste artigo 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 será o SHELL que será utilizado.
2 – Comentários e Descrição do Script
Esta sessã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
Em 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, com isso, nenhuma variáveis declarada de sua sessão atual será utilizada. Declarar variáveis é PRIMORDIAL, assim como em qualquer outra linguagem de programação.
4 – Edentação
Muitas pessoas acreditam que edentar scripts não é necessário. Para funcionar não, porém para entendimento próprio ou de outro DBA / analista é extremamente necessário. Edentaçã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 re-aproveitar o script posteriormente.
8 – Valide a execução de cada comando
De nada adianta um script que executa 100 tarefas e não valida nenhuma. Isso é o mais COMUM de se ver em scripts. Um comando executa 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”.