Exercício Prático LPIC 04
Publicado por Wagner Souza em 26/01/2015
[ Hits: 4.547 ]
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 dia - Episódio 1
Shell Script nosso de cada - Episódio 2
Scroll do mouse USB no Slackware 11
Lista de repositórios Debian Squeeze (para Desktop)
Customizando auto repetição de teclas
Configurando o xorg.conf no Ubuntu
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
[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?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Fiz uma pergunta no fórum mas não consigo localizar (20)
Quais os códigos mais dificeis que vcs sabem fazer? (8)
Pfsense inacessivel após um periodo de tempo (1)
Não consigo instalar distro antiga no virtualbox nem direto no hd (9)









