ADMachine
Publicado por octavio (última atualização em 20/06/2011)
[ Hits: 5.869 ]
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
#!/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
Script q ue cria uma galeria de imagens
Transforme a manpage e infopage em pdf e texto
Recriando /dev/null facilmente
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (5)
Formas seguras de instalar Debian Sid (0)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (4)
Alguém executou um rm e quase mata a Pixar! (1)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









