Exercício Prático LPIC 04
Publicado por Wagner Souza em 26/01/2015
[ Hits: 3.923 ]
Blog: https://medium.com/@souzaw
#!/bin/bash # Agrupei todos os comandos dentro uma função para facilitar e organizar a execução dos comandos. funcao(){ # Declaração das variáveis # #Dentro do arquivo /proc/cpuinfo há uma vasta informação e assim utilizei #o comando grep para filtrar apenas as informações referentes ao modelo #do processador independentemente da escrita estava em maiúscula ou #minúscula ( -i ). Isso utilizando o canalizador pipe para ir jogando a #saída de um comando para outro. Como o cut, cortei apenas as informações #desejadas. O comando uniq vai servir no caso de processadores com mais #de um núcleo. Caso o mesmo não fosse utilizado, iriam aparecer #informações repetidas a respeito do nome do processador. #Também esporei várias formas de utilizar os comandos dentro de uma #variável como na variável FREE eu uso o comando which que serve para #indicar o local exato de um comando ou programa. CPU=$(cat /proc/cpuinfo | grep -i "model name" | cut -c13-55 | uniq) RAM=$(free -h | grep -i mem | cut -c14-21) DISTRO=$(lsb_release -d | cut -c14-33) KERNEL=$(uname -r) ARQ=$(uname -i) FREE=$(which free) ##### FIM ##### echo "__________________________" echo echo " MONITORAMENTO DO SISTEMA " echo "__________________________" echo echo "Inicio: " $(date +%T-%d/%m/%Y) echo echo ">>> INFORMACOES DO SISTEMA <<<" echo echo "Sistema Operacional: " $DISTRO echo "Kernel em Uso: " $KERNEL echo "Arquitetura: " $ARQ echo "Hostname: " $(hostname) echo "Processador: " $CPU echo "Total de Memoria RAM: " $RAM echo echo ">>> STATUS DA CPU <<<" echo #O comando iostat gera um relatório com estatísticas de uso da CPU e #de entrada/saída de dispositivos e partições. Para mais informações #detalhadas, execute o comando man iostat #Aqui utilizei o comando sed para apagar duas linhas que eu não #queria que fosse mostrada na saída do comando e que não ficariam #interessantes no relatório. #Caso no seu sistema não tenha o iostat, ele faz parte do pacote #sysstat e pode ser baixado via: # # apt-get install sysstat # ou # yum install systat # #Nesta parte eu não quis utilizar uma variável para chamar o programa. #Ao invés disse, botei a localização exata do mesmo através do comando #which iostat. Sempre é interessante por o caminho completo nos scripts #para evitar possíveis erros apesar de não ser obrigatório, pois você #pode utilizar apena o nome do comando ou programa. #Chamo a atenção para os números 60 e 3. Será mostrado o status da CPU #nos últimos 60 segundos ( 1 minuto ) e o comando será executado três #vezes nesse intervalo. Com isso, o SysAdmin poderá verificar como está #a carga do sistema em um intervalo de 9 minutos produzindo uma análise #mais confiável. Este tempo pode ser aumentado ou diminuído de acordo #com a sua necessidade. /usr/bin/iostat -c 60 3 | sed '1,2d' echo echo ">>> STATUS DA MEMORIA RAM <<< " echo #A contagem das informações do comando free é diferente do iostat. Aqui #é preciso por os atributos -c, de contagem, e -s de segundos. $FREE -h -c 3 -s 60 echo echo ">>> STATUS DO HD <<<" echo echo "Utilizacao/Carga do Disco Rigido: " echo #Este comando vai exibi a capacidade do disco rígido bem como o percentual #de utilização. A saída será em um formato mais legível e informando também #os tipos de cada partição /bin/df -hT echo /usr/bin/iostat -d 60 3 | sed '1,2d' } #O comando tee vai exibir as informações geradas pela saída dos comandos #no monitor e escrevendo-as em um #arquivo de registro de log para #consulta posterior funcao | tee /var/log/sysrelatorio.log
#!/bin/bash funcao(){ # Declaracao das variaveis CPU=$(cat /proc/cpuinfo | grep -i "model name" | cut -c13-55 | uniq) RAM=$(free -h | grep -i mem | cut -c14-21) DISTRO=$(lsb_release -d | cut -c14-33) KERNEL=$(uname -r) ARQ=$(uname -i) FREE=$(which free) ##### FIM ##### echo "__________________________" echo echo " MONITORAMENTO DO SISTEMA " echo "__________________________" echo echo "Inicio: " $(date +%T-%d/%m/%Y) echo echo ">>> INFORMACOES DO SISTEMA <<<" echo echo "Sistema Operacional: " $DISTRO echo "Kernel em Uso: " $KERNEL echo "Arquitetura: " $ARQ echo "Hostname: " $(hostname) echo "Processador: " $CPU echo "Total de Memoria RAM: " $RAM echo echo ">>> STATUS DA CPU <<<" echo /usr/bin/iostat -c 60 3 | sed '1,2d' echo echo ">>> STATUS DA MEMORIA RAM <<< " echo $FREE -h -c 3 -s 60 echo echo ">>> STATUS DO HD <<<" echo echo "Utilizacao/Carga do Disco Rigido: " echo /bin/df -hT echo /usr/bin/iostat -d 60 3 | sed '1,2d' } funcao | tee /var/log/sysrelatorio.log
Configurando script de inicialização no openSUSE
Trabalhando com datas no LibreOffice
Trabalhando com referências de células no LibreOffice
Debian - Corrigindo erro da Tela de Login pós-instalação do Java
Google Chrome Stable no CentOS 6.x
Atheros (Ethernet) device 1091 (rev 10) no Slackware 14 (64 bits)
Leitor Biométrico no Thinkpad X230 com openSUSE 13.2 - Configuração
Configurando dicionionário/lista de palavras nas distribuições derivadas do Debian
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
O que você está ouvindo agora? [2] (130)
Adaptado Bluetooth USB que funciona no Linux (27)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter