Si ejecuta un sitio web, es posible que haya experimentado algún tiempo de inactividad. Ocasionalmente, el servidor web puede fallar. Sería genial si pudiéramos recibir un correo electrónico cuando el servidor no funcione.
Podemos programar fácilmente un trabajo de Linux que verifica periódicamente el estado del sitio web y envía un correo electrónico cuando hay un problema. Esta publicación muestra cómo crear un cronjob de Linux para detectar el tiempo de inactividad del sitio web y enviar un correo electrónico.
Paso 1: Cree un archivo de secuencia de comandos llamado «downtime_detector.sh».
Puede crear el archivo en su directorio de inicio. Copie el siguiente texto en el archivo de script creado.
if curl -s "http://www.programcreek.com/2016/08/leetcode-russian-doll-envelopes-java/" | grep -q "Russian Doll Envelopes" then # if the keyword is in the content echo " the website is working fine" else echo "Program Creek Error" | /usr/sbin/sendmail [email protected] fi |
El script comprueba si la página web de destino contiene la cadena «Sobres de muñecas rusas». Si la página contiene la cadena, la página se representa correctamente. De lo contrario, se enviará un mensaje a una dirección de correo electrónico.
Paso 2: Instale «sendmail» en su máquina Linux.
«sendmail» es una herramienta popular y confiable que se puede configurar fácilmente para enviar correos electrónicos en Linux.
sudo apt-get install sendmail
Paso 3: crea un cronjob.
Escriba «crontab -e» para editar la lista de cronjob.
Agregue la siguiente línea:
*/5 * * * * /path/to/script/downtime_detector.sh
Eso es. En comparación con otros servicios de detección de tiempo de inactividad en línea, este método es bastante flexible y puede cambiarlo a lo que quiera. Este método no requiere un servidor adicional, pero tener un servidor separado es mejor en caso de que el servidor esté completamente inactivo, en cuyo caso el script de detección no se ejecuta en absoluto.