Pesquisa de site

Um script de shell para enviar alerta por e-mail quando a memória estiver baixa


À medida que usamos nossos computadores para diversas tarefas, muitas vezes executamos vários aplicativos e softwares que consomem uma quantidade significativa de memória. Quando a memória disponível fica baixa, nosso computador pode ficar lento ou até travar. Para evitar essa situação, podemos usar um script de shell para enviar um alerta por e-mail quando a memória ficar fraca. Neste artigo, discutiremos como criar esse script de shell e explicaremos como ele funciona.

Noções básicas sobre scripts de shell

Antes de nos aprofundarmos na criação de scripts de shell, vamos primeiro entender o que são scripts de shell. Um shell script é um programa que consiste em uma série de comandos escritos em uma linguagem shell, que é interpretada pelo sistema operacional. Os scripts de shell são comumente usados para automatizar tarefas repetitivas e tarefas de administração do sistema.

Criando um Shell Script para Monitorar o Uso de Memória

Para criar um script de shell para monitorar o uso de memória, precisamos usar os seguintes comandos -

  • free - Este comando exibe a quantidade de memória livre e usada no sistema.

  • awk - Este comando é uma poderosa ferramenta de processamento de texto que nos permite manipular e analisar dados.

  • mail - Este comando envia um email para um endereço de email especificado.

Aqui está o shell script que criaremos -

#!/bin/bash
# Get memory usage details
memory=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2}')
# Define threshold memory usage
threshold=80.00
# Check if memory usage is greater than threshold
if (( $(echo "$memory > $threshold" | bc -l) )); then
   # Send an email alert
   echo "Memory usage is above threshold: $memory" | mail -s "Memory Usage Alert" your_email_address@example.com
fi

Vamos examinar esse script linha por linha para entender o que ele faz.

  • #!/bin/bash - Esta linha informa ao sistema operacional para usar o shell Bash para interpretar o script.

  • memory=$ (free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2}') - Esta linha obtém detalhes de uso de memória usando free comando e calcula a porcentagem de memória usada usando o comando awk.

  • threshold=80.00 - Esta linha define o limite de uso de memória. Neste exemplo, definimos o limite para 80%.

  • if (( $ (echo "$memory > $threshold" | bc -l) )); then - Esta linha verifica se o uso de memória é maior que o limite usando a instrução if.

  • echo "O uso de memória está acima do limite − $memory" | mail -s "Alerta de uso de memória" your_email_address@example.com: Se o uso de memória estiver acima do limite, esta linha envia um alerta por e-mail para o endereço de e-mail especificado usando o comando mail.

Usando ShellScript

Para usar o shell script, precisamos seguir estas etapas

  • Abra um editor de texto e copie o código do script nele.

  • Substitua "your_email_address@example.com" pelo seu endereço de e-mail real.

  • Salve o arquivo com extensão .sh (por exemplo, mem_alert.sh).

  • Abra o terminal e navegue até o diretório onde você salvou o arquivo.

  • Torne o arquivo executável executando o seguinte comando: chmod +x mem_alert.sh.

  • Execute o script shell usando o seguinte comando: ./mem_alert.sh.

  • O script de shell agora monitorará o uso de memória e enviará um alerta por e-mail se o uso ultrapassar o limite.

Personalizando ShellScript

Você pode personalizar o shell script para atender às suas necessidades, modificando as seguintes variáveis -

  • threshold - Você pode alterar o limite de uso da memória modificando o valor da variável de limite. Por exemplo, se quiser definir o limite para 90%, você pode alterar a linha "threshold=80.00" para "threshold=90.00".

  • email_address - Você pode alterar o endereço de e-mail para o qual o alerta é enviado, modificando o valor da variável email_address. Por exemplo, se você deseja enviar um alerta para "meu_email@example.com", você pode alterar a linha "seu_email_address@example.com" para "meu_email@example.com".

Você também pode modificar a mensagem enviada no alerta por email modificando a instrução echo. Por exemplo, você pode adicionar mais informações à mensagem ou personalizar o assunto do alerta por e-mail.

Benefícios de usar um script Shell para monitorar o uso de memória

Usar um script de shell para monitorar o uso de memória tem vários benefícios -

Automação

O shell script automatiza o processo de monitoramento do uso de memória e envio de alertas por e-mail, o que economiza tempo e esforço.

Monitoramento Proativo

o alerta por e-mail é enviado quando o uso da memória ultrapassa o limite, o que permite que você tome medidas proativas para evitar problemas relacionados à falta de memória.

Costumização

O shell script pode ser personalizado para atender às suas necessidades específicas, como alterar o limite de uso de memória ou o endereço de e-mail para o qual o alerta é enviado.

Conclusão

Neste artigo, discutimos como criar um script de shell para monitorar o uso de memória e enviar alertas por e-mail quando o uso de memória ultrapassar um limite. Explicamos vários comandos usados no shell script e fornecemos instruções passo a passo sobre como usar e personalizar o script. Ao usar um script de shell para monitorar o uso de memória, você pode automatizar o processo de monitoramento e tomar medidas proativas para evitar problemas relacionados à falta de memória.

Artigos relacionados: