Dicas para um bom sysadmin - Parte 4

Então, você já sabe como conhecer os seus usuários, a importância de ensiná-los, e porque deve-se manter tudo o mais simples possível. Hoje, vamos falar sobre algo que os bons sysadmins linuxers conhecem muito bem:

4 - ‘Scriptize’ tudo!

Alguns neófitos (ou até mesmo alguns veteranos) costumam acreditar que o verdadeiro sysadmin é aquele que conhece todos os comandos na palma da mão, e que só é macho de verdade quem consegue lembrar de cabeça aquela linha de comando que tem mais de 300 caracteres.

Sim, claro. Agora, vai tentar ser macho com a internet inteira parada e todo mundo na sua empresa, do dono até a tia do café, te ligando e/ou batendo furiosamente na sua porta…..

Com o uso de scripts, é possível gerar atalhos para comandos / sequência de comandos mais comuns, e tornar o uso dos mesmos mais simples, mais rápido. Se você usa Linux, tem a obrigação de conhecer o mínimo de ’shell script’ para poder criar scripts eficientes. Agora, se você usa servidores Windows…. Bom, me disseram que dá pra criar uns arquivos .bat bem interessantes, que listam pastam, copiam arquivos, etc….

Mas, enfim…. A dica é: avalie TUDO o que você costuma fazer como rotina, e verifique, estude, crie, um script que faça o ‘trabalho sujo’ por você. Querem um exemplo?

Quando eu ainda sabia pouco de shell script, os backups eram feitos manualmente (ia de máquina em máquina, copiava tudo pra rede, e depois gravava tudo em CD). Depois de pegar um script para gerar arquivos compactados e gravar em CD, comecei a gostar desse negócio e fui implementando várias mudanças no script, e percebi que seria muito mais interessante gravar tudo em DVD, do que ficar trocando vários e vários CD’s na hora do backup. Comprei um gravador de DVD, e foi a festa.

Nesse meio tempo, consegui implantar de vez o Samba na empresa, e as coisas ficaram ainda melhores, pois eu não precisava mais ir de máquina em máquina fazer o backup, um script copiava todos os arquivos para um HD à parte. Mais alguns estudos depois, percebi que podia adicionar uma duas linhas no script, para separar todos os backups por pastas, ao invés de um único arquivo gigantesco de mais de 3GB (o que dificultava a recuperação dos arquivos, levava-se quase uma hora para descompactar tudo….).

OK, mas ainda dava pra melhorar. Com o tempo, li sobre backups incrementais, fiz umas buscas na internet, e consegui desenvolver um sistema que faz backups diários, semanais e mensais (esses, contendo apenas os arquivos alterados naquele período), grava em DVD os backups mensais e realiza backups completos semestralmente (para tornar mais fácil a recuperação completa em caso de perda total…).

Percebem? Com estudo e prática na base da tentativa-e-erro, consegui diminuir meu trabalho em uma dia inteiro por semana para… sei lá, quanto tempo se perde tirando uma mídia de DVD da gaveta do servidor e colocando outra mídia, uma vez ao mês?

E é um script simples, bobo. Como quase todos que eu uso, aliás. Dá pra criar usuários no Samba rapidamente, respondendo apenas três perguntas (’Qual é seu nome’, ‘Qual é sua missão’ e ‘Qual é a velocidade média de uma andorinha’, respectivamente. E que se dane quem não entendeu…). Dá pra fazer muita, muita coisa.

‘Tá, mas eu não sei shell scripting’, você deve estar pensando. Bom, sabe alguma coisa de PHP? Pois sabe que, no Linux, é possível criar scripts em PHP que rodam no Shell! E o que é mais interessante, você pode até criar um frontend web para eles! Aliás, tenho três sistemas na minha intranet que funcionam desse jeito:

  • Um de lembrete de renovação de documentos, onde os usuários cadastram numa interface web os documentos e a data de renovação, (entre outras informações) e diariamente o sistema avisa por email se há algum documento com prazo de vencimento próximo;
  • Lembrete de vencimento de período de experiência (o sistema verifica a data de admissão dos funcionários, avisando supervisores/gerentes que o período de testes de 90 dias está acabando);
  • Backup de todos os bancos de dados MySQL e posterior cópia para a pasta de backups, via ssh;

Só perceba que, mesmo que seus skills em PHP sejam muito bons, invariavelmente você vai ter que executar algum programa externo.

Outro ponto importante é que, para agendar a execução de alguns scripts, você também vai ter que aprender um pouquinho sobre o crontab (que lhe permite agendar comando no Linux). Juntando os shell scripts com o crontab, você tem uma ferramenta poderosíssima na mão.

Assim, minha interação com os servidores é raríssima. Eu só preciso fazer uma vistoria de vez em quando, rodar os scripts necessários, e reiniciar o Windows Server 2003 pelo menos duas vezez por semana (a vida não é perfeita, o nosso ERP não roda em Linux, yada, yada, yada….).

Novamente, tempo ganho. E tempo é dinheiro, meus jovens!

—————-
Now playing on Winamp: America - A Horse With No Name
via FoxyTunes

Technorati Tags:

Tags:

Se você gostou deste post, escreva um comentário e/ou cadastre-se em nosso feed.

Comentários

Ainda não há comentários.

Desculpe, este post está fechado para comentários.