Utilice correos electrónicos para controlar si el sitio web es anormal
-
[Requisitos de Shell]
-
Escriba un script de shell y use curl -I para devolver el código de estado y determinar si el sitio web visitado es normal. Por ejemplo, cuando el estado del código es 200, se considera normal escribir un script de correo electrónico.
-
[Análisis de shell]
1. El problema clave, el estado del código es interceptado
2. Al escribir el script de shell, primero debe usar el comando curl -I http://www.51xit.top/ para probar bajo el comando, y luego interceptarlo a través de awk Código de estado
3. Escriba el script para enviar correos electrónicos mediante sendEmail. El entorno de producción tiene una plantilla
4 coincidente , juicio y asociación de correo electrónico
curl -I http://www.51xit.top/
Tendremos información interactiva 200 cuando capturemos paquetes
-
【Instalar componentes de correo】
-
[root@tang ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz ####下载安装包 [root@tang ~]# tar -zxvf sendEmail-v1.56.tar.gz #####解压安装包 [root@tang ~]# cp sendEmail-v1.56/sendEmail /usr/local/bin/ ####复制文件内容至/usr/local/bin/ [root@tang ~]# chmod 755 /usr/local/bin/sendEmail ####给与权限 [root@tang ~]# vi /opt/sendEmail.sh ####编辑脚本文件
-
[Configuración de shell-1, 2]
(Nota: después de agregar el comando curl -l a la canalización, habrá información detallada sobre el proceso de descarga. Por ejemplo: porcentaje de descarga, velocidad y otra información, esta información es una salida incorrecta, por lo que debe agregar un 2 > / dev / null)#/bin/bash url='www.51xit.top' sta=`curl -l $url 2> /dev/null | head -1 | awk '{print $2}'` if [ $sta != "200" ] then /opt/sendEmail.sh [email protected] "$url down." "$url down." ###xxxxxxxx为 你想要发送邮件的QQ fi
-
[Configuración de shell-3, 4]
#!/bin/bash # #Filename: SendEmail.sh #Revision: 1.0 #Date: 2019/05/29 #Author: Qicheng #Email: #Website: http://51xit.top/ #Description: tang邮件告警脚本 #Notes: 使用sendEmail # #脚本的日志文件 LOGFILE="/tmp/Email.log" :>"$LOGFILE" exec 1>"$LOGFILE" exec 2>&1 SMTP_server='smtp.qq.com' ##### SMTP服务器,变量值需要自行修改 username='[email protected]' ##### 用户名,变量值需要自行修改 password='password' ##### 密码(QQ邮箱用的是授权码),变量值需要自行修改 from_email_address='[email protected]' #### 发件人Email地址,变量值需要自行修改 to_email_address="$1" ##### 收件人Email地址,tang传入的第一个参数 message_subject_utf8="$2" ##### 邮件标题,tang传入的第二个参数 message_body_utf8="$3" ##### 邮件内容,tang传入的第三个参数 #转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。 message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF $message_subject_utf8 EOF` [ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8" #转换邮件内容为GB2312,解决收到邮件内容乱码 message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF $message_body_utf8 EOF` [ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8" #发送邮件 sendEmail='/usr/local/bin/sendEmail' set -x $sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312