ADMachine
Publicado por octavio (última atualização em 20/06/2011)
[ Hits: 5.573 ]
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
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGANDO MSG ANTIGAS EM TODAS AS PASTAS DE UM USUÁRIO
Imspector - Manipular ACLS facilmente
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)