Exercício Prático LPIC 04
Publicado por Wagner Souza em 26/01/2015
[ Hits: 4.408 ]
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
Servidor Proxy para uso do APT e ZYPPER - Configuração
Java plugin para Firefox no Slackware 14.1 - Configuração
Montando arquivos ISO através da interface gráfica no Linux
[Resolvido] 'client-error-document-format-not-supported'
Intel Graphics Installer no Linux Mint
Atualizando fácil e rapidamente seu Mandriva Linux pela internet
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?









