目的
想象一下,域名到期都不知道,忘了续费,就像忘了交房租,房东(互联网)会毫不留情地把你扫地出门!所以,及时续费,让顾客轻松找到你,生意红红火火!
准备条件
系统: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行),多个使用空格分开- 每次查询间隔5秒
- 域名离到期日30天内就发告警
https://pastebin.com/vUq8Jjkb
修改:warnsrc.py
把前面获取到的钉钉Webhook地址填上:
url = 'Webhook地址'
(第16行)
https://pastebin.com/5cP6UYPs
测试
为了测试,修改到期天数(例如200天内),修改domain_expiry_reminder.sh
(第72行)
# 测试时间为200天内过期就发告警
if [ $expiry_date -lt 200 ]; ## 例如200天内,你的域名离到期日必须小于200日
运行测试
cd /home/domain
./domain_expiry_reminder.sh
成功后,记得改回来,默认30天内发消息提醒
添加定时任务
每隔3天检测一次(域名到期前30天内)
(crontab -l ; echo "30 2 */3 * * cd /home/domain && ./domain_expiry_reminder.sh >/dev/null 2>&1") | crontab -