Respuestas:
Puede obtener el uso de memoria a través del free
comando. Un pequeño análisis de su salida le dará la memoria utilizada actualmente:
free -m | awk '/buffers\/cache/ {print $3}'
Luego, puede enviar un correo electrónico utilizando el mail
comando (suponiendo que la cadena de correo ya esté configurada en su servidor):
echo -e "Mail content." | mail -s "Subject" "destination@expample.com"
Con esto, puede escribir un pequeño sh
script para verificar el uso de la memoria y enviar correo si es necesario:
#!/bin/sh
memuse=$(free -m | awk '/buffers\/cache/ {print $3}')
if [ $memuse -ge 512 ]; then
message="RAM limit exceeded in server alpha.\nCurrent use is $memuse MiB."
echo -e "$message" | mail -s "RAM monitoring" "admin@example.com"
fi
Ahora, solo necesita ejecutar este script periódicamente. Podemos, por ejemplo, usarlo cron
para ejecutarlo cada minuto, agregando a /etc/crontab
:
* * * * * /root/ram_monitoring.sh
(suponiendo que haya guardado el script /root/ram_monitoring.sh
y que tenga un cron deamon en funcionamiento).
$2
pero $3
lo corregiré.