ADMachine
Publicado por octavio (última atualização em 20/06/2011)
[ Hits: 5.571 ]
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
Instalador autônomo Zabbix 3.2.1 no CentOS 6
Script para criar certificados de forma automatizada no OpenVpn
Gerenciamento de espaço em disco
Controlando Fan Nagios no dialog
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
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)
Pendrive não formata de jeito nenhum (4)