需要两个文件,一个用于存储域名信息,另一个是检测脚本

注意:这两个文件是在一个目录下

domain_ssl.info 【存储域名信息】

1 [root@mini05 20180930]# cat domain_ssl.info

2 # 检测百度域名

3 www.baidu.com:443

check_domain_time.sh 【检测脚本】

1 [root@mini05 20180930]# cat check_domain_time.sh

2 #!/bin/bash

3 ################ version info ##################

4 # create date: 2018-09-29

5 # author: zhang

6 # mail: zhang@xxxx.com

7 # version: 1.0

8 # attention: 通过域名获取证书的过期时间

9 ################################################

10 # v1.0.0 2018-09-29 脚本编写 张

11 # 1.通过域名获取证书的过期时间

12 ################################################

13

14 # 加载环境变量

15 . /etc/profile

16 . ~/.bash_profile

17 . /etc/bashrc

18

19 # 脚本所在目录即脚本名称

20 script_dir=$( cd "$( dirname "$0" )" && pwd )

21 script_name=$(basename ${0})

22

23 readfile="${script_dir}/domain_ssl.info"

24 grep -v '^#' ${readfile} | while read line;do #读取存储了需要监测的域名的文件

25 # echo "${line}"

26 get_domain=$(echo "${line}" | awk -f ':' '{print $1}')

27 get_port=$(echo "${line}" | awk -f ':' '{print $2}')

28

29 # echo ${get_domain}

30 # echo "${get_port}"

31 # echo "======"

32

33 end_time=$(echo | openssl s_client -servername ${get_domain} -connect ${get_domain}:${get_port} 2>/dev/null | openssl x509 -noout -dates |grep 'after'| awk -f '=' '{print $2}'| awk -f ' +' '{print $1,$2,$4 }' )

34 #使用openssl获取域名的证书情况,然后获取其中的到期时间

35 end_time1=$(date +%s -d "$end_time") #将日期转化为时间戳

36 now_time=$(date +%s -d "$(date | awk -f ' +' '{print $2,$3,$6}')") #将目前的日期也转化为时间戳

37

38 rst=$(($(($end_time1-$now_time))/(60*60*24))) # 到期时间减去目前时间再转化为天数

39

40 echo "${rst}"

41 done

执行结果

1 [root@mini05 20180930]# ./check_domain_time.sh

2 238

参考博文:

linux如何查看证书过期时间,shell脚本:通过域名获取证书的过期时间相关推荐

  1. 签名证书无效”-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719)

    "签名证书无效"-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719) 上次更新时间:2020/ ...

  2. linux/windows_ip查看(公网ip/私网ip)/通过域名查找ip/解读tracert 的返回结果

    linux/windows_ip查看(公网ip/私网ip)/通过域名查找ip/解读tracert 的返回结果 references [How to Check the IP Address in Li ...

  3. shell脚本检查域名证书是否过期

    最近公司的域名准备过期了,防止用户访问的时候出现异常,所以最近我们准备替换相关网站证书为最新的. (一般HTTPS证书有效期为1年,证书过期后或者该证书不是该域名的有效证书时,在浏览器中访问会出现如下 ...

  4. linux启动java jar文件_推荐:Linux启动Java程序jar包Shell脚本

    #!/bin/sh# 该脚本为Linux下启动java程序的脚本## author: luandy# date: 2021/1/15## 特别注意:# 该脚本使用系统kill命令来强制终止指定的jav ...

  5. java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本

    每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar--?边敲边想着都需要追加哪些参数? 今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程序Ja ...

  6. Linux(12)-命令行的使用,shell脚本

    命令行的使用,shell脚本 1.终端shell,man 2.shell 编程 2.1 shell脚本 2.2 注释 2.3 指明所用的shell 2.4 支持函数 2.5 使用变量 2.6 解析命令 ...

  7. linux定时监控端口并重新启动shell脚本命令

    以tomcat为例,监控并启动应用服务的端口shell脚本命令如下 #/bin/bashtime=`date +%Y-%m-%d-%H:%M` echo "app-Script start ...

  8. linux怎么测试一个脚本,一个Linux中用于监控的简易shell脚本

    系统管理员的任务真的很艰难,因为他/她必须监控服务器.用户.日志,还得创建备份,等等等等.对于大多数重复性的任务,大多数管理员都会写一个自动化脚本来日复一日地重复这些任务.这里,我们已经写了一个she ...

  9. 一个Linux中用于监控的简易shell脚本

    系统管理员的任务真的很艰难,因为他/她必须监控服务器.用户.日志,还得创建备份,等等等等.对于大多数重复性的任务,大多数管理员都会写一个自动化脚本来日复一日地重复这些任务.这里,我们已经写了一个she ...

最新文章

  1. 【C++基础学习】C++中的引用
  2. 【渝粤题库】广东开放大学 传播学理论与实务 形成性考核
  3. 软件工程生命周期模型_软件生命周期模型比较| 软件工程
  4. 平滑滤波器模板尺寸与平滑效果的关系_用PPT基础功能,教你打造发布会效果,这骚操作谁顶得住啊?...
  5. python读取数据文件、并把里面的数据变成x的二维坐标_(数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换...
  6. matlab动力学仿真_机械系统动力学MATLAB仿真(上)
  7. mem考试能用计算机吗,东华大学计算机学院MEM难考吗
  8. TestStand系统框架简介
  9. 程序员到底是干什么的?请不要再黑程序员了
  10. 十进制和二进制转换原理
  11. Azylee.Utils 工具组
  12. 实现一个简洁朴素的左侧贴边导航栏html+CSS+javaScript
  13. 【2021】01 最大流
  14. Java基础语法——选择排序、冒泡排序以及二分查找法和Arrays类的使用
  15. 生物传感器相关概念简述(一)
  16. 孙宇晨受邀参加36氪元宇宙峰会并发表主题演讲
  17. Jetbrains系列软件更新失败Connection Error Failed to prepare an update
  18. JDBC初学总结(四)
  19. docker-compose安装及前后端项目部署
  20. 用 TensorFlow 实现智能机器人的原理及如何实现一个对话机器人

热门文章

  1. 元宇宙下的商人、小说家和“钢铁侠”
  2. 基于ZYNQ的光纤-以太网高速传输系统设计
  3. ffmpeg开发之旅(3):AAC编码格式分析与MP4文件封装(MediaCodec+MediaMuxer)
  4. 设计模式-七大原则(图解一目了然)
  5. 小公司网络游戏可能出现的运维事故
  6. 机器学习读书笔记(四)朴素贝叶斯基础篇之网站账号分类
  7. crmeb 多商户安装教程(一)
  8. 使用SDL2_mixer库播放MP3音乐
  9. Cadence 应用注意事项--转载
  10. 著名的图像检索系统介绍[转]