10. 檢測域名是否到期
任何網站對外提供服務,都需要有一個域名,就像每個人都有人名,網站的名字就是這個域名。如果你想做一個網站,首先就需要租借一個域名。
當我們管理的域名數量非常多的時候,就很容易忘記為這些域名續期從而導致過期並回收。本案例的需求是監控指定的域名是否到期。
具體要求如下:
1)寫一個函式,域名以引數的形式傳遞給這個函式;
2)域名到期前的一週和到期後的一週(兩週),每天傳送一封告警郵件;
3)指令碼每天執行一次。
郵件指令碼如下:
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mine.text import MIMEText
import sys
mail_host = 'stmp.163.com'
mail_user = 'test@163.com'
mail_pass = 'your_mail_password'
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
me = "zabbix 監控告警平臺"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,'plain','utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib:SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == "__main__"
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
參考指令碼如下:
#!/bin/bash
#用於檢測域名是否過期
#定義收件人郵箱
mail="/usr/local/sbin/mail.py"
mail_user=admin@admin.com
if ! rpm -q jwhois &>/dev/null
then
yum install -y jwhois #沒有whois命令就安裝
fi
echo "`whois $1`" > /tmp/domain.txt
check_com()
{
expiration_date_com=`cat /tmp/domain.txt |grep "Expiration Date" |awk '{print $5}' |cut -c1-10 |awk -F '-' '{print $1 $2 $3}'`
i=7
while [ $i -ge 0 ]
do
alert_date1=`date -d "+$i day" +%F |awk -F '-' '{print $1 $2 $3}'`
alert_date2=`date -d "-$i day" +%F |awk -F '-' '{print $1 $2 $3}'`
if [ "$expiration_date_com" -eq "$alert_date1" ]
then
#echo -e "$1 此域名還有 $i 天過期,請儘快更新!"
python $mail $mail_user "$1 此域名還有 $i 天過期,請儘快更新!" 2>/dev/null
elif [ "$expiration_date_com" -eq "$alert_date2" ]
then
#echo -e "$1 此域名已經過期 $i 天,請儘快更新!"
python $mail $mail_user "$1 此域名已經過期 $i 天,請儘快更新!" 2>/dev/null
fi
i=$[$i-1]
done
}
check_cn()
{
expiration_date_cn=`cat /tmp/domain.txt |grep "Expiration Time" |awk '{print $3}' |awk -F '-' '{print $1 $2 $3}'`
i=7
while [ $i -ge 0 ]
do
alert_date1=`date -d "+$i day" +%F |awk -F '-' '{print $1 $2 $3}'`
alert_date2=`date -d "-$i day" +%F |awk -F '-' '{print $1 $2 $3}'`
if [ "$expiration_date_cn" -eq "$alert_date1" ]
then
#echo -e "$1 此域名還有 $i 天過期,請儘快更新!"
python $mail $mail_user "$1 此域名還有 $i 天過期,請儘快更新!" 2>/dev/null
elif [ "$expiration_date_cn" -eq "$alert_date2" ]
then
#echo -e "$1 此域名已經過期 $i 天,請儘快更新!"
python $mail $mail_user "$1 此域名已經過期 $i 天,請儘快更新!" 2>/dev/null
fi
i=$[$i-1]
done
}
domain=`echo $1 |cut -d '.' -f 2`
if [ "$domain" == "com" ]
then
check_com $1
elif [ "$domain" == "cn" ]
then
check_cn $1
fi
增加計劃任務:
0 8 * * * /usr/local/sbin/check_domain.sh alibaba.com #以 alibaba.com 為例,每天早上8點檢查一次
相關文章
- 微信域名檢測原理 批次檢測域名是否被微信攔截
- 微信域名攔截檢測介面 檢測域名是否被微信停止訪問
- 微信域名檢測,域名攔截檢測介面
- QQ/微信域名檢測-域名檢測官方介面
- 微信/QQ域名檢測-最新騰訊域名檢測官方介面
- 微信域名檢測-域名攔截檢測介面(官方api)分享API
- 如何檢查域名解析是否生效?
- 詳談推廣中h5頁面微信域名檢測的重要性,檢測域名是否被微信攔截H5
- 微信域名檢測官方介面 微信域名實時檢測系統
- 微信域名檢測 微信域名檢測官方介面的呼叫程式碼分享
- 微信域名攔截檢測 查詢微信中域名是否被攔截的最新方法
- 如何選擇測試微信域名檢測介面-域名檢測api介面測試標準API
- 微信域名檢測線上批次檢測如何實現?——利用域名檢測api介面實現批次檢測工具教程API
- 微信域名攔截檢測
- 經驗分享-檢測微信域名是否被遮蔽攔截的API介面推薦API
- 微信域名檢測、攔截-官方檢測、防封介面
- 怎麼檢視域名是否被劫持沒有、如何判斷網站域名是否被劫持?網站
- 微信域名防封技術-微信域名封禁檢測
- 分享微信域名檢測API介面API
- Java檢測物件是否相等Java物件
- 用perl指令碼檢測即將到期的date分割槽指令碼
- 微信域名檢測的重要性
- 微信域名攔截檢測介面分享
- 微信域名檢測的技術原理
- 微信域名檢測批次檢測api介面分享(附上html程式碼)APIHTML
- 域名檢測介面原理,微信js介面域名該如何實現JS
- 最新微信域名防封技術-微信域名封禁檢測介面
- Apache檢測某模組是否生效Apache
- 檢測空間是否支援curl
- 微信域名檢測原理及防封方案
- 目前微信域名檢測的最新 知識
- 微信域名檢測技術最新解析
- 微信域名防封系統、微信域名檢測該如何實現
- 子域名劫持漏洞的挖掘指南、子域名劫持怎麼檢測
- Java檢測埠是否被佔用Java
- C#檢測U盤是否插入C#
- 檢測是否為360瀏覽器?瀏覽器
- 事實論述微信域名檢測的重要性,實時批次檢測域名被微信攔截圖蔽