quarta-feira, 12 de fevereiro de 2014

LINUX - Bash history com data e hora macarda!



Boa noite pessoal, tudo bem?

Em muitas empresas, escolas ou mesmo em casa, temos uma difícil tarefa de compartilhar um computador, um notebook, um tablet, enfim, temos hoje em dia que aprender a compartilhar praticamente tudo. (Espaço no ônibus, trem e metrô nem estou considerando ok? rs)...

Brincadeiras à parte, uma rotina muito comum em ambiente de informática é termos a administração de servidores e serviços/aplicações compartilhadas e isso não é muitas das vezes fácil.

Quando temos um ambiente ok, funcionando corretamente e não tendo impacto em nada, ótimo todos estamos felizes.
Agora imagina quando acontece algum problema?
Seja ele um load alto, um espaço em disco que acabou do nada, uma parametrização que fez minha aplicação ficar estranha e por aí vai.

Bem, de quem é a culpa? Quando foi que isso começou? Que comando executaram que fez isso??

Bom aqui mora o problema, pois vem a passagem de bastão do:
- Ahhhhhh foi você!!!
- Não, só pode ter sido o cara da aplicação!!!! Ele que ativa os debugs e acaba com tudo.
- Nada disso. Deve ter sido aquela empresa de tunning no ambiente que pediu a senha de root.

E isso vai se prolonga até resolver o problema com todo mundo colocando a mão no servidor, até acontecer tudo novamente e virar um ciclo.

Lembrando que em servidores o legal e correto é termos usuários específicos para cada rotina, cada usuário ou grupo de trabalho, permissões apropriadas, etc. Temos um recurso muito legal no bash que é a opção de colocarmos data e hora para saber quando um comando foi executado. Isso ajuda muito, pois ao bater o olho em um comando podemos saber e filtrar o estrago que ele fez e ter um tempo menos de problema no servidor e talvez internamente.

Vamos lá:

Edite o .bashrc:
vim $HOME/.bashrc

Adicionar as seguintes linhas:
export HISTTIMEFORMAT= %h/%d - %H:%M:%S

Feito isso, com o comando history podemos ter uma saída do tipo:
11 Sep/08 – 12:26:13 grep error /var/log/messages

Hummmm legal, mas se eu precisar exportar esta lista de sequências e o cara ficou digitando várias vezes o mesmo comando e eu preciso da evidência de apenas um?

Basta adicionar a linha:
export HISTCONTROL=ignoreboth

Mas ainda não "tá"legal ... Preciso de um histórico maior. Tem como?

Sim tem.

export HISTSIZE=1000

Espero que essa dica ajude na auditoria de vocês quando necessário.

Abraços! 

Nenhum comentário:

Postar um comentário