ADMachine

Publicado por octavio (última atualização em 20/06/2011)

[ Hits: 5.419 ]

Download ADMachine.0.03




E ae pessoal do VOL???

Eu sei que ate agora não contribui com nada aqui no VOl... mas vou começar a mandar algumas dicas e se der alguns artigos.  Neste mês consegui atingir um dos objetivos que eu planejei para esse ano... e agora estou em busca da LPI (hehehe).

Em um belo dia, que não tinha nada para fazer, comecei a desenvolver um scriptizinho... ate que ele ficou legal!!!
Eu o fiz usando o sistema Debian 6.0  e o batizei de ADMachine , como o nome já diz ele é um auxiliar do administrador da maquina. Ainda falta muitas funcionalidades, mas já é um começo.

Pessoal, comentem e mandem suas criticas.

Obs .: Para quem quiser mudar as cores, veja um dica em: http://www.vivaolinux.com.br/dica/Shell-script-com-texto-colorido

  



Esconder código-fonte

#!/bin/bash
# ShellScript criado por Octavio Bottoni Neto
# Script para Administração da maquina.

ADMhelp(){
echo -e "
{FONTE}33[1;33mADM ajuda{FONTE}33[0m

{FONTE}33[1;33mOPÇÕES{FONTE}33[0m
\t-m \t\t{FONTE}33[1;33mInformações da memoria{FONTE}33[0m
\t-u \t\t{FONTE}33[1;33mInformações de usuarios{FONTE}33[0m
\t-p \t\t{FONTE}33[1;33mInformações do processador{FONTE}33[0m
\t-b \t\t{FONTE}33[1;33mInformações basicas{FONTE}33[0m
\t-n \t\t{FONTE}33[1;33mInformações de rede{FONTE}33[0m"
}
######################################################
#Funçao que mostra informaçoes de memoria
ADMmeminfo(){
clear
#Aqui é usado o comando "free -m" e ele é filtrado e modificado para melhor entendimento
echo -e "
$(date)


{FONTE}33[1;33mMemoria em Megabytes{FONTE}33[0m
$(free -m | head -2 | sed "s/Mem:/    /" | sed "s/used/Usado/"| sed "s/free/Livre/" | awk '{print $1" "$2" "$3}') 


{FONTE}33[1;33mPROCESSOS QUE OCUPAM MAIS MEMORIA NO NO SISTEMA:{FONTE}33[0m
$(ps aux | awk '{print $1" "$2"     "$4"    "$7"     "$10"      "$11}' | sed "s/\ /\t/" | expand -t 20 | grep -v 0.0)
" # Na linha cima usamos o comando "ps aux" e  filtramos ele, para pegar apenas os processos que ocupam mais memoria

}
########################################################
########################################################

#Funçao que mostra informaçoes do processador
# O LOOP FOR ABAIXO FICOU MEIO CONFUSO MAS PRESTANDO BEM ATENCAO DA PRAVER O QUE ELE VAI FAZER.
#
ADMcpuinfo(){
clear
VAR1=$(cat /proc/cpuinfo | grep -i "processor" | wc -l)
 echo -e " 
$(date)


{FONTE}33[1;33mQUANTIDADE DE PROCESSADORES LOGICOS:{FONTE}33[0m $VAR1
"

for i in $(seq 0 $( expr $VAR1 - 1 ));
 do echo -e " {FONTE}33[1;33mPROCESSADOR :{FONTE}33[0m$i $(cat /proc/cpuinfo | grep -i -A 6 "processor   : $i" | grep -i "^model name" | sed "s/   //" | sed "s/model name/    Modelo/" ) $(cat /proc/cpuinfo | grep -i -A 25 "processor   : $i" | grep -i "^clflush size"  | sed "s/clflush size/     Suporta/"| sed "s/$/ Bits /"  )" ; done 

echo -e "
{FONTE}33[1;33mPROCESSOS MAIS PESSADOS:{FONTE}33[0m
$(ps aux | awk '{print $1" "$2"     "$3"    "$7"     "$10"      "$11}' | sed "s/\ /\t/" | expand -t 20 | grep -v 0.0)
" 
}

########################################################
########################################################

# essa funcao verifica se a, algum usuario logado no sistema, e tambem mostras usuarios normais(criados apos o final da instalacao do sistema) e usuarios que nao possuem home(menos o root)
ADMusers(){
clear
echo -e "$(date )

{FONTE}33[1;33mEXISTE USUARIO LOGADO NA INTERFACE GRAFICA:{FONTE}33[0m `if w | egrep -i "tty7|gnome-session|kde|afterstep|enlightnment|windowmaker|icew|blackbox|fvwm90|fluxbox" > /dev/null 2> /dev/null  ; then echo "Sim, usuario $(w | egrep -i "tty7|gnome-session"  | awk '{print $1}')"; else echo "NÃO"; fi `

{FONTE}33[1;33mUSUARIOS NORMAIS (UID >= 1000):{FONTE}33[0m
`cat /etc/passwd | egrep "x:[0-9]{4}:[0-9]{4}:" | cut -d: -f1`

{FONTE}33[1;33mUSUARIOS QUE NAO POSSUEM HOME:{FONTE}33[0m
`cat /etc/passwd | egrep -v "/home/|root" | cut -d: -f1 `
"

} 
##########################################################################
ADMnetwork(){
clear
echo -e " \t\t\t{FONTE}33[1;33mINFORMACOES DE REDE{FONTE}33[0m"
echo -e "{FONTE}33[1;33mquantidade de placas de rede:{FONTE}33[0m `lspci | egrep -i "ether|wireless" | wc -l`"
echo -e "{FONTE}33[1;33mprocurando link de dados{FONTE}33[0m" && sleep 0.7
LINKDATA=`mii-tool | grep -v "no link" | wc -l`

if [ $LINKDATA -ge 1 ] ;   then 
   echo  -e "{FONTE}33[1;33mexiste link de dados.{FONTE}33[0m"
   echo -e  "{FONTE}33[1;33mvc deseja pegar um ip via DHCP??(y/n){FONTE}33[0m"
   read OPC_DHCP
   test $OPC_DHCP = "y" && echo -e "{FONTE}33[1;33mbuscando ip{FONTE}33[0m " && dhclient -v $(mii-tool | grep -v "no link" | cut -d: -f1)
  else 
echo -e "{FONTE}33[1;33mnao a link{FONTE}33[0m"
fi

}
ADMbasicInformation(){
clear
date 
echo -e "
{FONTE}33[1;33mKERNEL:{FONTE}33[0m `uname -r`

{FONTE}33[1;33mGERENCIADOR(ES) DE PACOTES:{FONTE}33[0m
   `dpkg -l > /dev/null 2> /dev/null && echo "dpkg"`
   `rpm -qa > /dev/null 2> /dev/null && echo "rpm"`

{FONTE}33[1;33mHOSTNAME:{FONTE}33[0m `cat /etc/hostname`

{FONTE}33[1;33mROTA PADRAO:{FONTE}33[0m
   `route -n`

{FONTE}33[1;33mQUANT. DE USUARIOS:{FONTE}33[0m `cat /etc/passwd | wc -l`

{FONTE}33[1;33mQUANT. DE GRUPOS:{FONTE}33[0m `cat /etc/group | wc -l`

{FONTE}33[1;33mDNS PADRAO(OES):{FONTE}33[0m

`cat /etc/resolv.conf | sed "s/nameserver/servidor DNS: /"`

"

}

ADMmenu(){
echo menu
}

case $1 in
   -h)
      ADMhelp
    ;;
   -m)
       ADMmeminfo   
    ;;
   -p)
      ADMcpuinfo
   ;;
   -u)
      ADMusers
   ;;
   
   -n)   
      ADMnetwork
   ;;
   -b)
      ADMbasicInformation
   ;;

   --menu)   
      ADMmenu
   ;;

   --shell)
      /bin/bash
   ;;

   "")
    clear &&  echo -e "
\t+---------------------------------------------------+
\t|Script de Administraçao da maquina.                |
\t|                                                   |
\t|                                                   |
\t|                                                   |
\t|                                                   |
\t|        PARA AJUDA DIGITE: ADMachine -h            |
\t|                                                   |
\t|                                                   |
\t|                                                   |
\t+---------------------------------------------------+"
 
   ;;

   *)
    echo -e "
\t+---------------------------------------------------+
\t|                                                   |
\t|              OPÇÃO $1 INDISPONIVEL                |
\t|              DIGITE: ADMachine -h                 |
\t|                                                   |
\t+---------------------------------------------------+
"   
;;

esac

Scripts recomendados

Ajuste de brilho do monitor

Script que identifica na rede a existência de duplicidades de IPs e MACs que utilizam mais de um IP

renameciclefile.sh

Liberar acesso por MAC/IP

Script de busca (google em shell)


  

Comentários
[1] Comentário enviado por ricardoolonca em 20/06/2011 - 14:57h

O OpenAudit é um sistema que permite fazer o inventário da máquina. Ele possui um script bash deve ser executado na máquina alvo. Dê uma olhada nesse script. Ele pode melhorar ainda mais o ADMachine.

http://www.open-audit.org/

[2] Comentário enviado por octaviob11 em 21/06/2011 - 15:42h

Opa...
Acho que na hora de colar o script na pagina ele mudou (NAO SEI O PORQUE) todos os "{COMENTARIO}" para "{FONTE}"
Exemplo:
ANTES:
echo -e "
{COMENTARIO}33[1;33mADM ajuda{COMENTARIO}33[0m

DEPOIS
echo -e "
{FONTE}33[1;33mADM ajuda{FONTE}33[0m

[3] Comentário enviado por octaviob11 em 21/06/2011 - 15:43h

OI...

valeu pela dica... vou dar uma olhada no OpenAudit.
brigado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts