Un script de Shell para enviar alertas por correo electrónico cuando la memoria se está agotando
Cuando utilizamos nuestras computadoras para diversas tareas, a menudo ejecutamos múltiples aplicaciones y software que consumen una cantidad significativa de memoria. Cuando la memoria disponible disminuye, nuestra computadora puede ralentizarse o incluso fallar. Para evitar esta situación, podemos utilizar un script de shell para enviar una alerta por correo electrónico cuando la memoria se esté agotando. En este artículo, analizaremos cómo crear un script de shell de este tipo y explicaremos cómo funciona.
Comprender los scripts de Shell
Antes de sumergirnos en la creación de scripts de shell, primero comprendamos qué son los scripts de shell. Un script de shell es un programa que consta de una serie de comandos escritos en un lenguaje shell, que es interpretado por el sistema operativo. Los scripts de Shell se utilizan comúnmente para automatizar tareas repetitivas y tareas de administración del sistema.
Crear un script de Shell para monitorear el uso de la memoria
Para crear un script de shell para monitorear el uso de la memoria, necesitamos usar los siguientes comandos:
free: este comando muestra la cantidad de memoria libre y utilizada en el sistema.
awk : este comando es una poderosa herramienta de procesamiento de texto que nos permite manipular y analizar datos.
-
mail: este comando envía un correo electrónico a una dirección de correo electrónico especificada.
Aquí está el script de shell que crearemos:
#!/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
Repasemos este script línea por línea para comprender qué hace.
#!/bin/bash: esta línea le indica al sistema operativo que use el shell Bash para interpretar el script.
memory=$ (free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2}') - Esta línea obtiene detalles del uso de memoria usando free comando y calcula el porcentaje de memoria utilizada usando el comando awk.
threshold=80.00 - Esta línea define el umbral de uso de memoria. En este ejemplo, hemos establecido el umbral en 80%.
if (( $ (echo "$memoria > $umbral" | bc -l) )); entonces: esta línea verifica si el uso de memoria es mayor que el umbral usando la declaración if.
echo "El uso de la memoria está por encima del umbral − $memory" | mail -s "Alerta de uso de memoria" your_email_address@example.com: si el uso de memoria supera el umbral, esta línea envía una alerta por correo electrónico a la dirección de correo electrónico especificada mediante el comando de correo.
Usando el script de Shell
Para usar el script de shell, debemos seguir estos pasos
Abra un editor de texto y copie el código del script en él.
-
Reemplace "your_email_address@example.com" con su dirección de correo electrónico real.
Guarde el archivo con una extensión .sh (por ejemplo, mem_alert.sh).
Abra la terminal y navegue hasta el directorio donde guardó el archivo.
Haga que el archivo sea ejecutable ejecutando el siguiente comando: chmod +x mem_alert.sh.
Ejecute el script de shell usando el siguiente comando: ./mem_alert.sh.
El script de shell ahora monitoreará el uso de la memoria y enviará una alerta por correo electrónico si el uso supera el umbral.
Personalización del script de Shell
Puede personalizar el script de shell para que se adapte a sus necesidades modificando las siguientes variables:
umbral: puede cambiar el uso de memoria del umbral modificando el valor de la variable de umbral. Por ejemplo, si desea establecer el umbral en 90%, puede cambiar la línea "umbral=80,00" a "umbral=90,00".
email_address: puede cambiar la dirección de correo electrónico a la que se envía la alerta modificando el valor de la variable email_address. Por ejemplo, si desea enviar una alerta a "mi_correo electrónico@ejemplo.com", puede cambiar la línea "su_dirección_correo electrónico@ejemplo.com" a "mi_correo electrónico@ejemplo.com".
También puede modificar el mensaje que se envía en la alerta por correo electrónico modificando la declaración de eco. Por ejemplo, puede agregar más información al mensaje o personalizar el asunto de la alerta por correo electrónico.
Beneficios de utilizar un script de Shell para monitorear el uso de la memoria
Usar un script de shell para monitorear el uso de la memoria tiene varios beneficios:
Automatización
El script de shell automatiza el proceso de monitorear el uso de la memoria y enviar alertas por correo electrónico, lo que ahorra tiempo y esfuerzo.
Monitoreo proactivo
Se envía una alerta por correo electrónico cuando el uso de la memoria supera el umbral, lo que le permite tomar medidas proactivas para evitar cualquier problema relacionado con la poca memoria.
Personalización
El script de shell se puede personalizar para satisfacer sus necesidades específicas, como cambiar el umbral de uso de memoria o la dirección de correo electrónico a la que se envía la alerta.
Conclusión
En este artículo, analizamos cómo crear un script de shell para monitorear el uso de la memoria y enviar alertas por correo electrónico cuando el uso de la memoria supera un umbral. Explicamos varios comandos utilizados en el script de shell y proporcionamos instrucciones paso a paso sobre cómo usar y personalizar el script. Al utilizar un script de shell para monitorear el uso de la memoria, puede automatizar el proceso de monitoreo y tomar medidas proactivas para evitar cualquier problema relacionado con la poca memoria.