Bootstrap

Centos 7.5上配置mailx发送邮件

客户环境中有需要监视的URL页面,获取status状态码,记录到对应日志文件中。

如果无法访问出现其他status状态码则发送到指定邮箱中。

#!/bin/bash

# 要监控的URL
URL="http://example.com"

# 期望的状态码
EXPECTED_STATUS=200

# 日志文件路径
LOG_FILE="/var/log/url_monitor.log"

# 邮件接收者
EMAIL_RECIPIENT="[email protected]"

# 使用curl获取状态码
STATUS=$(curl -o /dev/null -s -w "%{http_code}" $URL)

# 记录日志
echo "$(date) - Checked URL $URL, status code: $STATUS" >> $LOG_FILE

# 检查状态码是否符合期望
if [ "$STATUS" -ne "$EXPECTED_STATUS" ]; then
    echo "$(date) - URL $URL returned status $STATUS, expected $EXPECTED_STATUS. Alert sent." >> $LOG_FILE
    # 发送邮件通知
    echo "URL $URL returned status $STATUS, expected $EXPECTED_STATUS." | mail -s "URL Monitor Alert" $EMAIL_RECIPIENT
fi

安装配置mailx

sudo yum install mailx

编辑mailx的配置文件/etc/mail.rc,添加您的邮件服务 SMTP服务器信息和发件人邮箱信息

set smtp=smtp.example.com
set [email protected]
set smtp-auth-password=your_password
set [email protected]

调整脚本,把200改为2000触发异常状态,成功收到告警邮件

添加对应计划任务。

;