Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >域名有效期监控的最佳方案

域名有效期监控的最佳方案

作者头像
公众号: 云原生生态圈
发布于 2021-11-15 09:04:36
发布于 2021-11-15 09:04:36
1.9K00
代码可运行
举报
文章被收录于专栏:云原生生态圈云原生生态圈
运行总次数:0
代码可运行

今天分享一个使用shell脚本实现域名有效期的监控

不喜欢开场白,还是直接上干货...

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash
#检测域名是否过期
#作者:xuexiaobai@shell.com
#日期:20200224
#版本:v0.1

#当前日期时间戳,用于和域名的到期时间做比较
currentTimestamp=`date +%s`

#检测whois命令是否存在,不存在则安装whois包
isInstallWhois()
{
    which whois >/dev/null 2>/dev/null
    if [ $? -ne 0 ]
    then
        yum install -y whois || apt-get install whois -y
    fi
}

notify()
{
    expiredate=`whois $1 |grep 'Registry Expiry Date' |awk '{print $4}' |cut -d 'T' -f 1`
    #上面的$1代表域名,遍历循环出来的。
    #如果e_d的值为空,则过滤关键词'Expiration Time'
    if [ -z "$expiredate" ]
    then
        expiredate=`whois $1|grep 'Expiration Time' |awk '{print $3}'`

    fi
    #将域名过期的日期转化为时间戳
    expiredatestamp=`date -d $expiredate +%s`
    #计算半个月一共有多少秒
    # 15d 1296000  30d 2592000 35d 3024000 40d 3456000
    n=2592000
    timeBeforce=$[$expiredatestamp - $n] #过期时间15d以前的时间戳
    timeAfter=$[$expiredatestamp + $n] #过期时间15d以后的时间戳
    if [ $currentTimestamp -ge $timeBeforce ] && [ $currentTimestamp -lt $expiredatestamp ]
    then
        curl -X POST \
            -H 'Content-type: application/json' \
            --data '{"text":":warning:Domain '$1' will to be expired less then 15d. And domain '$1' expire date is '$expiredate' @xuexiaobai"}' \
            https://hooks.slack.com/services/*****/xxxxxxx/qqqqqqqqqqqqqqqqqqqqqq
    fi
    if [ $currentTimestamp -ge $expiredatestamp ] 
    then
        curl -X POST \
            -H 'Content-type: application/json' \
            --data '{
                "text":":interrobang:Domain '$1' has been expired. And domain '$1' expire date is '$expiredate' @xuexiaobai"}' \
            https://hooks.slack.com/services/*****/xxxxxxx/qqqqqqqqqqqqqqqqqqqqqq
    fi
}

#检测上次运行的whois查询进程是否存在
#若存在,需要杀死进程,以免影响本次脚本执行
if pgrep whois &>/dev/null
then
    killall -9 whois
fi

isInstallWhois

for d in baidu.com google.com
do
  notify $d
done

以上脚本需要注意几个地方:

  1. 脚本中使用的是slack通知方式,如果你选择使用slack,需要修改一下hooks地址
  2. 可以自定义控制检查的有效期时长,控制是还有多少天过期进行通知,修改shell脚本中的那个 n变量
  3. 放在一个定时任务中运行就可以了.
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生生态圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
统信服务器操作系统【用户账户密码策略管理】
Linux系统中每个普通用户都有一个账号,包括用户名、密码和主目录等信息。除此之外,还有一些系统本身创建的特殊用户,具有特殊的存在意义,其中最重要的用户就是管理员账户,默认的用户名为root(也就是超级用户)。通过操作命令行能够对用户文件进行创建、修改、删除更改密码等操作。
Kevin song
2024/05/30
1.4K0
统信服务器操作系统【用户账户密码策略管理】
shell脚本:通过域名获取证书的过期时间
参考博文:linux学习第七十一篇:shell脚本:通过域名获取证书的过期时间并邮件告警
踏歌行
2020/10/15
1.9K0
101个shell脚本
emm。。这个脚本是因为tomcat没有自带的能够给service开机启动的脚本,我就琢磨着自己写了一个简单的启动脚本,如下:
端碗吹水
2020/09/23
1.4K0
101个shell脚本
python自动化巡检
E:\python新版学习\pyinstaller-develop>PyInstaller  E:\python新版学习\3.6.2\inspe
py3study
2020/01/03
2.3K0
十个增加 Linux Shell 脚本趣味的小工具
很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制最终的输出,光标位置还有各种输出效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支持的。
Debian中国
2018/12/21
1.2K0
学习笔记0615----shell脚本
每隔1分钟检查一下系统负载,当系统的负载大于10的时候,发一封邮件(监控脚本) 最小单元是任务计划 cron
嘻哈记
2020/11/24
8070
每日shell练习题
(63)需求: –监控节点 一个网站,使用了cdn,全国各地有几十个节点。需要你写一个shell脚本来监控各个节点是否正常。 假如: 监控的url为www.aming.com/index.php 源站ip为88.88.88.88 以及各个节点ip列表文件为/tmp/ip.txt #!/bin/bash url="www.aming.com/index.php" s_ip="88.88.88.88" curl -x $s_ip:80 $url > /tmp/source.html 2>/dev/null fo
老七Linux
2018/05/31
4.8K0
如何给localStorage设置一个有效期
引言 ​  这个话题其实在上次分享<小程序填坑记里讲过了>已经讲过(大佬可绕过哦~),但后来群里/评论都有些同学,提到了一些疑问,问能否单独整理一篇更为详细的分享,讲解一下细节和完善提到的不足,如是有了下文👇。 这里是@IT·平头哥联盟,我是首席填坑官—苏南,用心分享 做有温度的攻城狮。 公Z号:honeyBadger8,群:912594095 思考点   从我们接触前端起,第一个熟悉的存储相关的Cookie或者来分析我们生活中密切相关的淘宝、物流、闹钟等事物来说起吧, Cookie从你设置的
苏南
2018/11/29
2K1
如何给localStorage设置一个有效期
[不定期更新]简单的shell脚本练习实例
此文将整理一些简单实用、有趣易学的 shell 练习脚本,希望可以帮到一些想学习 shell 的初学者。张戈也会在闲暇时间不定期更新此文,对已有实例进行改进和注释,增强可读性和易懂性。当然我也会不定期的添加更多简单、有趣且实用的 shell 练习脚本,帮助一些有需要的入门学习者。 一、编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息。 原文代码为: #!/bin/bash if  ! grep "^#!" $1 &>/dev/null; then cat >> $1 <<
张戈
2018/03/23
3.4K0
linux学习第七十一篇:shell脚本:通过域名获取证书的过期时间并邮件告警
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/X__Alone/article/details/80662679
用户1215343
2019/07/02
1.7K0
23 个非常实用的 Shell 拿来就用脚本实例
shell脚本是帮助程序员和系统管理员完成费时费力的枯燥工作的利器,是与计算机交互并管理文件和系统操作的有效方式。区区几行代码,就可以让计算机接近按照你的意图行事。
公众号机器学习与AI生成创作
2021/03/29
9650
Centos7系统巡检
这周闲得慌,就根据需求写了差不多20个脚本(部分是之前分享过的做了一些改进),今天主要分享一个给平时运维人员用的centos7系统巡检的脚本,或者排查问题检查系统情况也可以用..
jwangkun
2021/12/23
8020
百宝箱:https证书的过期巡检监控
关于https证书的过期巡检监控,还真是百密一疏!仔细复盘,可能我们将注意力都集中在基础设施、基础状态、应用系统、中间件、数据库、链路追踪、日志,以及更高阶的可观测的概念及如何建设上,而忽略了当下,孰不知我们现阶段为监控所做的一切都是在提高系统的可观测性!因此对于监控,即使没有可观测性的加成,也可以使我们的监控系统满足业务日益发展的需要。
lyb-geek
2023/12/02
5011
百宝箱:https证书的过期巡检监控
Nginx开启OCSP的弊端以及优化方案
前面有写利用《Nginx开启OCSP以解决Let's Encrypt证书被DNS污染访问缓慢》的问题,这篇文章总结和优化一下一些会出现的问题。
Balliol Chen
2022/04/24
3.3K1
Shell脚本加密与解密
我们写的shell脚本里面通常会包含帐号密码等信息或者你不想让别人看到的信息,那么把写好的shell脚本进行简单的加密显得有些必要了。 常用的shell加密方法有两种,一种是通过gzexe加密,另一种是通过shc加密。 我们先给一个简单的脚本,然后用它来进行加密解密演示,脚本abc.sh内容如下 1 2 #!/bin/bash echo "hello world!" gzexe加密与解密shell脚本 (tips:绿色为输出内容) 1 2 3 4 5 6 7 8 9 bash abc.sh       
神无月
2018/07/13
14.5K0
监控域名HTTPS证书过期时间
随着各大浏览器对 http 请求标识为 不安全(见下图),现如今强烈推荐网站使用 https 请求。对于运维同学来说,SSL 证书有效期如何监控,不可能去记住每个域名证书到期日期,今天作者分享两个脚本并配合zabbix 来监控 SSL 证书到期日期。这样就不会因为 SSL 证书到期导致网站瘫痪。
YP小站
2020/10/23
7K0
监控域名HTTPS证书过期时间
nginx cookie有效期讨论
每一次访问都会在浏览器生成Cookie,那么Cookie的存在对于用户来说是好还是坏呢?说实话,这玩意的存在确实会带来一系列的问题,有趣的是几乎每个站点都难以离开Cookie,由于Cookie的使用因其貌似简单,而很容易被人轻视。最近在开发过程中,审视应用中的Cookie代码,几乎只需要很小的代价就可以获得巨大的安全收益。因此写下这份笔记加深记忆。
Yerik
2020/05/17
1.7K0
Docker 安装 mysql 并映射数据库存放路径及配置文件/Docker备份mysql
show variables like '%datadir%';会输出数据文件的存放路径 /var/lib/mysql/
鳄鱼儿
2024/05/21
1.5K0
Docker 安装 mysql 并映射数据库存放路径及配置文件/Docker备份mysql
JVM内存监控shell脚本
该shell脚本主要用于监控: 1.各个进程的jvm内存使用情况; 2.端口监控; 3.访问的页面是否正常。 脚本名称:jvm-monitor.sh,具体脚本如下: ---- [root@loong /]#more jvm-monitor.sh #!/bin/bash export JAVA_PATH=/callcent/jdk1.6.0_25 export PATH=$PATH:$JAVA_PATH/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/lo
loong576
2019/09/10
1.9K0
JVM内存监控shell脚本
Python 时间处理全解析:从基础到实战
datetime 模块提供了更高级别的日期和时间处理功能,允许我们进行日期和时间的算术运算、格式化等。
一键难忘
2024/03/18
3900
相关推荐
统信服务器操作系统【用户账户密码策略管理】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档