shell之检测域名到期时间并进行邮件通知

在工作中,常常会有几十上百的域名,不可能一一去查看,一不小心到期没续费就会造成很大的麻烦,以此为前提写一个检测域名到期时间的脚本,当到期时间小于等于7天时,进行邮件通知;
check_domain.sh

#!/bin/bash
source /etc/profile
#定义邮件发送列表
maillist=(
  [email protected]
  [email protected]
)
#发送邮件函数
send_mail(){
    SUBJECT="$1域名即将到期"
    if [ $2 -ge 0 ];then
        CONTENT="$1:此域名即将到期,剩余时间已不足$2天,请及时续费!"
        for mail in ${maillist[*]};do
            echo -e "${CONTENT}" | mail -s "${SUBJECT}" $mail
        done
    else
        day=$((-$2))
        CONTENT="$1:此域名已到期,已超出$day天,请及时续费!"
        for mail in ${maillist[*]};do
            echo -e "${CONTENT}" | mail -s "${SUBJECT}" $mail
        done
    fi
}
#检测whois命令是否存在,不存在则安装jwhois包
is_install_whois()
{
    which whois &> /dev/null
    if [ $? -ne 0 ];then
        yum install -y jwhois
    fi
}
#定义需要被检测的域名列表
domainlist=(
   baidu.com
)
#检测域名到期时间并通知
for domain in ${domainlist[*]};do
    #取出域名过期时间
    expire_date=`whois $domain | grep "Expiration Time" | awk ‘{print $3}‘`
    if [ -z "$expire_date" ];then
        expire_date=`whois $domain | grep ‘Expiry Date‘|awk ‘{print $4}‘|cut -d ‘T‘ -f 1`
    fi
    #转换成时间戳
    expire_date_timestamp=`date -d $expire_date +%s`
    #以时间戳的形式显示当前时间
    now=`date ‘+%s‘`
    #域名到期剩余天数
    time_left=$[$[$expire_date_timestamp-$now]/86400]
    if [ $time_left -le 7 ];then
        send_mail $domain $time_left
    fi
done

结合任务计划,每天执行一次即可~

原文地址:http://blog.51cto.com/liuzhengwei521/2298598

时间: 2024-11-05 20:38:26

shell之检测域名到期时间并进行邮件通知的相关文章

域名到期后一般多久被删除或可以重新注册?

国际域名:(1) 到期当天暂停解析,如果在72小时未续费,则修改域名DNS指向广告页面(停放).38天内,可以自动续费.续费后,系统自动恢复原来的DNS,刷新时间大概是24-48小时.(2) 39-70天,域名处于赎回期(Redemption),此期间域名无法管理,需手工赎回!(3) 75天,域名被彻底删除,可以重新注册.国内域名:(1) 到期当天暂停解析,如果在72小时未续费,则修改域名DNS指向 广告页面(停放).35天内,可以自动续费.(2) 过期后36-48天,将进入13天的高价赎回期,

confluence与jira账号对接、查看到期时间及问题总结

安装顺序:先安装Jira,然后安装Confluence,在Confluence安装过程中去连接jira,既Confluence用户目录会主动同步jira的用户目录.这样,在jira里创建用户就会自动同步到Confluence里,双方登陆的用户是一样的(最好是先在jira里创建用户,然后同步到Confluence里).在同一个session环境下,可以使用同样的账号登陆jira和Confluence.(但是在切换登陆时仍然需要输入密码,要想切换登陆时不需要登陆密码,即实现单点登录,则需要基于Cro

zabbix企业应用之监控域名过期时间与ssl证书过期时间

如果各位维护过n多个域名,可能会对备案与续费有所了解,备案是十分麻烦,各种流程,而续费的话,虽然比较简单,但如果你没有提前续费,可能导致域名不可用,甚至被他人给恶意注册,为了解决这样的问他,我今天给各位分享一下,如何使用zabbix监控域名过期时间与ssl证书过期时间,默认的触发器是在域名或ssl证书要过期前60天通知. 下面是监控域名过期时间的效果图 下面是监控ssl证书过期时间效果图 如何实现: 一.客户端 1.修改zabbix_agentd.conf文件 在zabbix_agentd.co

线上mongodb 数据库用户到期时间修改的操作记录

登陆版权数据库,显示"此用户已到期",数据库使用的是mongodb,顾 需要将此用户的到期时间延长. 解决过程: 1)到网站对应tomcat配置里找出等里mongodb的信息(mongodb 的库.登陆用户名.密码.端口) 2)用上面的信息登陆mongodb # mongo 127.0.0.1:27017/fcyym -ufcyym_sa -padmin_hqdrm2012_root 查询这个库下所有的表> show collections 查询相应的表的字段信息> db.

微信域名安全检测工具是如何检测域名状态的

针对微信转发分享链接等过程中,域名被QQ管家云安全过滤拦截而无法正常浏览, 例如该网页包含诱导分享内容,被多人投诉等. 本平台提供微信域名拦截(停止访问)监测接口服务, 我们的监控系统能快速及时地把已被拦截的域名通知对方,为了灵活性地与第三方平台无缝对接特别地提供专业API接口实时监控着域名的状态, 用户可通过此接口回调数据快速切换有效域名,大大减少人力物理给平台正常运营节省人力物力财力. 文档:最简单的 GET 接口调用方式 API 响应:毫秒级响应效率,100%准确率 API 网关:高性能.

Linux如何使用shell命令检测PHP木马防止脚本木马的破坏

1.一句话查找PHP木马 代码如下 # find / -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decoolcode|spider_bc" >> /tmp/php.txt #  grep -r --include=*.php '[^a-z]eval($_POST'. >> /tmp/eval.txt # grep -r --in

网站微信拦截查询工具 采用官方接口检测域名是否在微信中被拦截

大家在微信中浏览链接的时候一定会出现“已停止访问该网页”这种情况,这种情况表示推广的域名已经被微信浏览器拦截(屏蔽). 这是微信为营造和维护好的网络环境针对诱导分享,不健康内容等链接进行的限制.这对于专门做微信推广和微信营销的朋友们来说是个致命打击,每天花钱花人力物力去推广,哪知道还没到用户端就已经半路夭折.那么对于运营人来说,实时了解域名被封情况对自己是非常重要的!所以今天我就分享一下我自己正在使用的检测域名在微信当前状态的工具! 一.API接口检测 1.http://www.qqdwz.cn

检测所有磁盘分区使用率和inode使用率,当发现某分区容量或者inode量大于85%时,发邮件通知你

监控磁盘使用率 写一个shell脚本,检测所有磁盘分区使用率和inode使用率并记录到以当天日期为命名的日志文件里,当发现某个分区容量或者inode使用量大于85%时,发邮件通知你自己. 思路:1.就是先df -h 然后过滤出已使用的那一列,然后再想办法过滤出百分比的整数部分,然后和85去比较,同理,inode也是一样的思路. 2.df -h.df -i 记录磁盘分区使用率和inode使用率,date +%F 日志名格式3.取出使用率(第5列)百分比序列,for循环逐一与85比较,大于85则记录

pyton 编写脚本检测两台主机之间的通信状态,异常邮件通知

最近客户有一个需求要检测两台服务器之间的通信状态.要是通信是失败就需要邮件通知相关人.本来想用shell来实现,shell脚本ping 对端服务器很简单,但是shell的邮件发送比较麻烦,于是使用python实现并且用smtplib模块可以快速实现邮件的发送. 功能如下:1秒钟ping一次目标地址.代码中把你的邮箱改为自己的就可以, 代码: #coding:utf-8 import socket import smtplib import email.MIMEText import email.