Generalidades
Si tienes un Servidor VPS o Dedicado, es posible que te interese conocer el estado de ese servidor sin tener que esperar en una ventana de terminal. En su lugar, puedes ejecutar un script que te envíe por correo electrónico esta información sobre el estado de tu servidor.
Funciona generando contenido HTML contiene información en tu servidor, incluyendo:
- Promedio de carga.
- Uso de memoria.
- Conexiones de red abiertas.
- 10 procesos de memoria principales.
- 10 procesos de CPU principales.
- Resultados netstat.
- Snapshot superior de todos los procesos en ejecución.
Esto solo se aplica a tu servidor web. El acceso de shell a VPS MySQL no está disponible.
Instalarun script de servidor
Descarga una copia del script de una de las dos maneras:
Se recomienda que agregues el script dentro del directorio home del usuario.
FTP
Da clic al siguiente enlace para descargar el script a tu computador:
Debes entonces cargar el archivo vía FTP.
SSH
Inicia sesión en tu servidor vía SSH. Luego puedes simplemente correr el siguiente comando para descargar el script:[server]$ curl -s -o status.rb https://cdn.jsdelivr.net/gh/watsonian/server-status-report@master/status.rb
Confirmar si mailx está instalado
Una vez que hayas descargado el script correctamente, debes asegurarte de que el paquete mailx esté instalado. Para averiguarlo, corre el siguiente comando:
Para averiguarlo, corre este comando:
[server]$ dpkg -l | grep mailx
Si está instalado, verás la siguinete salida.
ii bsd-mailx 8.1.2-0.20180807cvs-1 simple mail user agent
Si, en cambio, ves el siguiente resultado, debes instalarlo.
rc mailx 8.1.2-0.20050715cvs-1 A simple mail user agent
Puedes instalar solamente mailx en un Servidor Dedicado con un usuario administrador. Esto es por que esto requiere sudo. Habiendo iniciado sesión, corre el siguiente comando:
[server]$ sudo apt-get install mailx
Crear un cron job
Mira el artículo Crontab para ver detalles sobre como crear un cron job bajo tu usuario shell. Ingresa el siguiente comando en el panel al crear el cron job:
[server]$ /usr/bin/ruby /path/to/script/status.rb | /usr/bin/mail -a "Content-type: text/html;" -s "Status Report: $HOSTNAME" "some@example.com"
- Si agregaste el script en el directorio home del usuario, puedes cambiar el camino a ~/status.rb.
- Cambia el correo a donde quieres que el cron job envíe el correo.
- Puedes cambiar el tema a lo que quieras.
- Si deseas enviar el correo a más direcciones de correo, puedes usar la marca -c y pasarle una lista de direcciones de correo separadas por comas.
Correo
Si configuras todo correctamente, deberías comenzar a recibir correos que se parezcan más o menos a este: