Exercício Prático LPIC 04
Publicado por Wagner Souza em 26/01/2015
[ Hits: 4.550 ]
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
Shell Script nosso de cada - Episódio 2
Trabalhando com datas no LibreOffice
Restaurar (resetar) o ambiente gráfico (interface) do Lubuntu 14.04 LTS
Backtrack 5 - Problemas de inicialização do modo gráfico
Alterando e adicionando atalhos para aplicativos
Como habilitar Xmanager no Ubuntu 11.04
Como fazer voltar o som do Ubuntu 20.04.1 LTS
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Alguém já testou o novo COSMIC Desktop? O que achou? (2)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (0)
Não consigo instalar distro antiga no virtualbox nem direto no hd (15)









