0
respostas

[Projeto] Faça como eu fiz: obtendo informações de hardware do sistema

Execute o comando free em seu terminal, filtrando a linha sobre o uso de memória e formatando sua saída;

root@E091732:/script-linux# free -h
               total        used        free      shared  buff/cache   available
Mem:           7.6Gi       667Mi       6.9Gi       4.0Mi       259Mi       7.0Gi
Swap:          2.0Gi          0B       2.0Gi
root@E091732:/script-linux#

Crie uma função em seu script de monitorar hardware e adicione a funcionalidade de monitorar o uso de memória RAM, salvando a informação em um arquivo de relatório;

#!/bin/bash

LOG_DIR="../script-linux/teste_script"
DESTINO_DIR="/backup"
TAR_FILENAME="logs_$(date +%F_%T).tar.gz"

mkdir -p $LOG_DIR

function monitorar_hardware() {

echo "$(date)" >> $LOG_DIR/monitoramento_hardware.txt
free -h | grep -i Mem | awk '{print "Memória RAM Total: " $2, "Usada: " $3 ", Livre: " $4 }' >> $LOG_DIR/monitoramento_hardware.txt

}
monitorar_hardware

Rode o comando top em seu terminal para obter os dados de CPU. Lembre-se de filtrar e formatar a saída para obter o valor de porcentagem de uso de CPU.

root@E091732:/script-linux# top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print "Uso da CPU: " 100 - $1 "%"}'
Uso da CPU: 0.8%

Incorpore o comando usado na função de monitorar hardware, salvando as informações no arquivo de relatório;

#!/bin/bash

LOG_DIR="../script-linux/teste_script"
DESTINO_DIR="/backup"
TAR_FILENAME="logs_$(date +%F_%T).tar.gz"

mkdir -p $LOG_DIR

function monitorar_hardware() {

echo "$(date)" >> $LOG_DIR/monitoramento_hardware.txt
free -h | grep -i Mem | awk '{print "Memória RAM Total: " $2, "Usada: " $3 ", Livre: " $4 }' >> $LOG_DIR/monitoramento_hardware.txt
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print "Uso da CPU: " 100 - $1 "%"}' >> $LOG_DIR/monitoramento_hardware.txt

}
monitorar_hardware

Rode o comando iostat em seu terminal para extrair dados de leitura e escrita nos dispositivos de armazenamento, formatando a saída do comando;

root@E091732:/script-linux# iostat | grep -E "Device |^sda|^sdb|^sdc" | awk '{print $1, $2, $3, $4}'
Device tps kB_read/s kB_wrtn/s
sda 0.02 1.26 0.00
sdb 0.00 0.12 0.00
sdc 0.00 0.03 0.00

Adicione o comando usado na função de monitorar hardware e salve as informações no relatório.

#!/bin/bash

LOG_DIR="../script-linux/teste_script"
DESTINO_DIR="/backup"
TAR_FILENAME="logs_$(date +%F_%T).tar.gz"

mkdir -p $LOG_DIR

function monitorar_hardware() {

echo "$(date)" >> $LOG_DIR/monitoramento_hardware.txt
free -h | grep -i Mem | awk '{print "Memória RAM Total: " $2, "Usada: " $3 ", Livre: " $4 }' >> $LOG_DIR/monitoramento_hardware.txt
iostat | grep -E "Device |^sda|^sdb|^sdc" | awk '{print $1, $2, $3, $4}' >> $LOG_DIR/monitoramento_hardware.txt

}
monitorar_hardware                                                                                                                                         >

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR