2
respostas

Faça como eu fiz: extraindo informações de uso do armazenamento no sistema

Em seu terminal, teste o comando df para obter os dados de uso de disco;
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Explore as diferentes opções do comando df, como -h, -a, -T, etc;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Crie uma função para monitorar o disco em seu script, utilizando o comando df juntamente com o awk para formatar as informações relevantes, e salve isso em um arquivo de relatório;

#!/bin/bash

LOG_DIR="monitoramento_sistema"
mkdir -p "$LOG_DIR"

monitorar_logs() {

    if [ -f /var/log/auth.log ]; then
        grep -E "fail(ed)?|error|denied|unauthorized" /var/log/auth.log \
            | awk '{print $1, $2, $3, $5, $6, $7}' \
            > "$LOG_DIR/monitoramento_logs_auth.txt"
    else
        echo "$(date): Arquivo /var/log/auth.log não encontrado." \
            > "$LOG_DIR/monitoramento_logs_auth.txt"
    fi

    if [ -f /var/log/syslog ]; then
        grep -E "fail(ed)?|error|denied|unauthorized" /var/log/syslog \
            | awk '{print $1, $2, $3, $5, $6, $7}' \
            > "$LOG_DIR/monitoramento_logs_sistema.txt"
    else
        echo "$(date): Arquivo /var/log/syslog não encontrado." \
            > "$LOG_DIR/monitoramento_logs_sistema.txt"
    fi
}
monitorar_conectividade() {
    if ping -c 4 8.8.8.8 > /dev/null 2>&1; then
        echo "$(date): Conexão ativa" >> "$LOG_DIR/monitoramento_rede.txt"
    else
        echo "$(date): Sem conexão com a internet" >> "$LOG_DIR/monitoramento_rede.txt"
    fi
    
    if curl -s --head https://www.alura.com.br/ | grep "HTTP/2 200" > /dev/null; then
        echo "$(date): Conexão com a Alura bem-sucedida" >> "$LOG_DIR/monitoramento_rede.txt"
    else
        echo "$(date): Falha ao conectar com a Alura" >> "$LOG_DIR/monitoramento_rede.txt"
    fi
}
monitorar_disco() {
    df -h | grep -v "snapfuse" | awk '$5+0 > 70 {print $1 " está com " $5 " de uso."}' >> $LOG_DIR/monitoramento_disco.txt
}
executar_monitoramento() {
    monitorar_logs
    monitorar_conectividade
    monitorar_disco
}
echo "Monitoramento concluído. Logs salvos em: $LOG_DIR"

Incorpore o comando du em seu script, na função de monitoramento de disco e salve os dados no arquivo de relatório.

#!/bin/bash

LOG_DIR="monitoramento_sistema"
mkdir -p "$LOG_DIR"

monitorar_logs() {

    if [ -f /var/log/auth.log ]; then
        grep -E "fail(ed)?|error|denied|unauthorized" /var/log/auth.log \
            | awk '{print $1, $2, $3, $5, $6, $7}' \
            > "$LOG_DIR/monitoramento_logs_auth.txt"
    else
        echo "$(date): Arquivo /var/log/auth.log não encontrado." \
            > "$LOG_DIR/monitoramento_logs_auth.txt"
    fi


    if [ -f /var/log/syslog ]; then
        grep -E "fail(ed)?|error|denied|unauthorized" /var/log/syslog \
            | awk '{print $1, $2, $3, $5, $6, $7}' \
            > "$LOG_DIR/monitoramento_logs_sistema.txt"
    else
        echo "$(date): Arquivo /var/log/syslog não encontrado." \
            > "$LOG_DIR/monitoramento_logs_sistema.txt"
    fi
}


monitorar_conectividade() {
    if ping -c 4 8.8.8.8 > /dev/null 2>&1; then
        echo "$(date): Conexão ativa" >> "$LOG_DIR/monitoramento_rede.txt"
    else
        echo "$(date): Sem conexão com a internet" >> "$LOG_DIR/monitoramento_rede.txt"
    fi


    if curl -s --head https://www.alura.com.br/ | grep "HTTP/2 200" > /dev/null; then
        echo "$(date): Conexão com a Alura bem-sucedida" >> "$LOG_DIR/monitoramento_rede.txt"
    else
        echo "$(date): Falha ao conectar com a Alura" >> "$LOG_DIR/monitoramento_rede.txt"
    fi
}

monitorar_disco() {
        df -h | grep -v "snapfuse" | awk '$5+0 > 70 {print $1 " está com " $5 " de uso."}' >> $LOG_DIR/monitoramento_disco.txt
        echo "Uso de disco no diretorios principal:" >> $LOG_DIR/monitoramento_disco.txt
        du -sh /home/juliene >> $LOG_DIR/monitoramento_disco.txt
        echo "$(date)" >> $LOG_DIR/monitoramento_disco.txt
}

executar_monitoramento() {
    monitorar_logs
    monitorar_conectividade
    monitorar_disco
}

echo "Monitoramento concluído. Logs salvos em: $LOG_DIR"
2 respostas

Olá Juliene.
Parabéns por concluir mais esta etapa de exercicios.
A pratica constante é importante para fixar o aprendizado.
Seus códigos estão corretos.
Continue praticando e compartilhando seu aprendizado com a gente.
Bons estudos.
Obrigado.

obrigada, Ronaldo!!