linux如何查看证书过期时间,shell脚本:通过域名获取证书的过期时间
需要两个文件,一个用于存储域名信息,另一个是检测脚本
注意:这两个文件是在一个目录下
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脚本:通过域名获取证书的过期时间相关推荐
- 签名证书无效”-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719)
"签名证书无效"-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719) 上次更新时间:2020/ ...
- linux/windows_ip查看(公网ip/私网ip)/通过域名查找ip/解读tracert 的返回结果
linux/windows_ip查看(公网ip/私网ip)/通过域名查找ip/解读tracert 的返回结果 references [How to Check the IP Address in Li ...
- shell脚本检查域名证书是否过期
最近公司的域名准备过期了,防止用户访问的时候出现异常,所以最近我们准备替换相关网站证书为最新的. (一般HTTPS证书有效期为1年,证书过期后或者该证书不是该域名的有效证书时,在浏览器中访问会出现如下 ...
- linux启动java jar文件_推荐:Linux启动Java程序jar包Shell脚本
#!/bin/sh# 该脚本为Linux下启动java程序的脚本## author: luandy# date: 2021/1/15## 特别注意:# 该脚本使用系统kill命令来强制终止指定的jav ...
- java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本
每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar--?边敲边想着都需要追加哪些参数? 今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程序Ja ...
- Linux(12)-命令行的使用,shell脚本
命令行的使用,shell脚本 1.终端shell,man 2.shell 编程 2.1 shell脚本 2.2 注释 2.3 指明所用的shell 2.4 支持函数 2.5 使用变量 2.6 解析命令 ...
- linux定时监控端口并重新启动shell脚本命令
以tomcat为例,监控并启动应用服务的端口shell脚本命令如下 #/bin/bashtime=`date +%Y-%m-%d-%H:%M` echo "app-Script start ...
- linux怎么测试一个脚本,一个Linux中用于监控的简易shell脚本
系统管理员的任务真的很艰难,因为他/她必须监控服务器.用户.日志,还得创建备份,等等等等.对于大多数重复性的任务,大多数管理员都会写一个自动化脚本来日复一日地重复这些任务.这里,我们已经写了一个she ...
- 一个Linux中用于监控的简易shell脚本
系统管理员的任务真的很艰难,因为他/她必须监控服务器.用户.日志,还得创建备份,等等等等.对于大多数重复性的任务,大多数管理员都会写一个自动化脚本来日复一日地重复这些任务.这里,我们已经写了一个she ...
最新文章
- 【C++基础学习】C++中的引用
- 【渝粤题库】广东开放大学 传播学理论与实务 形成性考核
- 软件工程生命周期模型_软件生命周期模型比较| 软件工程
- 平滑滤波器模板尺寸与平滑效果的关系_用PPT基础功能,教你打造发布会效果,这骚操作谁顶得住啊?...
- python读取数据文件、并把里面的数据变成x的二维坐标_(数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换...
- matlab动力学仿真_机械系统动力学MATLAB仿真(上)
- mem考试能用计算机吗,东华大学计算机学院MEM难考吗
- TestStand系统框架简介
- 程序员到底是干什么的?请不要再黑程序员了
- 十进制和二进制转换原理
- Azylee.Utils 工具组
- 实现一个简洁朴素的左侧贴边导航栏html+CSS+javaScript
- 【2021】01 最大流
- Java基础语法——选择排序、冒泡排序以及二分查找法和Arrays类的使用
- 生物传感器相关概念简述(一)
- 孙宇晨受邀参加36氪元宇宙峰会并发表主题演讲
- Jetbrains系列软件更新失败Connection Error Failed to prepare an update
- JDBC初学总结(四)
- docker-compose安装及前后端项目部署
- 用 TensorFlow 实现智能机器人的原理及如何实现一个对话机器人