Em seu terminal, teste o comando df para obter os dados de uso de disco;
Explore as diferentes opções do comando df, como -h, -a, -T, etc;
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"