ADMachine
Publicado por octavio (última atualização em 20/06/2011)
[ Hits: 5.681 ]
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
Invertendo strings usando vetores
Levantamento de hardware e software no Mandriva 2006
Script para converter arquivos *.rar em *.zip
bookmaker.bash: Script para imprimir livros com 4 páginas em uma folha
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gestão de Ambiente em uma rede Linux (2)
Ajuda Pra Melhoria do NFTABLES. (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (4)