Exercício Prático LPIC 04
Publicado por Wagner Souza em 26/01/2015
[ Hits: 4.233 ]
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
Baixando arquivos de servidores FTP via linha de comando
Instalação do PopcornTime Community
Erro de chave pública ao atualizar Chrome no Fedora 22
Shell Script nosso de cada - Episódio 2
Configurar clique do tochpad no Slackware 13
Funtoo com Fresh Plugin (Pepper Flash no Firefox)
Modem com Ubuntu no laptop HP DV6150
Adicionando ou excluindo um usuário de um grupo
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Discussão sobre monitoramento da integridade de arquivos (6)
Problema no boot do Linux Mint Cinnamon 22 (4)
Atualização do Google Chrome do Ubuntu [RESOLVIDO] (2)
Instalei Windows 11 e não alterou o Grub do Debian (1)
Jogos baixados na Central de Aplicativos mas que não abrem (0)