Hugo博客公告弹窗

监控域名到期发送钉钉消息通知

准备条件

系统:debian,ubuntu,安装了python

检测是否安装了python:

python3 --version

检测是否安装了requests

python3 -c "import requests; print(requests.__version__)"

如果没安装

pip install requests

下载脚本

新建通知文本:

mkdir -p /home/domain
touch /home/domain/warnfile

安装依赖:

sudo apt-get update
sudo apt-get install whois bc

下载脚本:

cd /home/domain
wget https://raw.githubusercontent.com/woniu336/open_shell/main/domain_expiry_reminder.sh
wget https://raw.githubusercontent.com/woniu336/open_shell/main/warnsrc.py

赋予权限:

chmod +x domain_expiry_reminder.sh
chmod +x warnsrc.py

获取钉钉Webhook 地址

使用 Webhook 地址,创建好自定义机器人

查看文档 https://open.dingtalk.com/document/robots/custom-robot-access

IP地址(段)填写服务器IP (要填上)

修改脚本:

修改:domain_expiry_reminder.sh

  • for line in 123.com 234.com 567.org 改成你的域名(第25行),多个使用空格分开

  • 测试时间为30天内过期就发告警

https://pastebin.com/vUq8Jjkb

修改:warnsrc.py

把前面获取到的钉钉Webhook地址填上:url = 'Webhook地址' (第16行)

https://pastebin.com/5cP6UYPs

测试

大于30天不会有消息,为了测试,修改到期天数,修改domain_expiry_reminder.sh(第72行)

   # 测试时间为200天内过期就发告警
    if [ $expiry_date -lt 200 ]; ## 例如200天内,你的域名离到期日必须小于200日

运行测试

cd /home/domain
./domain_expiry_reminder.sh

添加定时任务

每隔3天检测一次(域名到期前30天内)

(crontab -l ; echo "30 2 */3 * * cd /home/domain && ./domain_expiry_reminder.sh >/dev/null 2>&1") | crontab -
CC BY-NC-SA 4.0 转载请注明
最后更新于 2024-11-20 16:13
clarity统计