如何比较当前日期和txt文件中行的日期?

如何比较当前日期和txt文件中行的日期?

我想检查 Openvpn 服务器上的用户证书到期前一周。服务器上安装了 Centos 6.7。我可以使用命令将所有 .crt 中的结束日期和主题导出到 txt 文件

openssl x509 -subject -enddate -noout -in filename

格式:

subject= /C=Country/ST=ca/L=City/O=company/OU=uit/CN=user/emailAddress=email
notAfter=Oct  8 13:48:27 2020 GMT

服务器上的当前日期格式 -Wed May 25 10:03:06 MSK 2016 如何比较当前日期和notAftertxt 文件中的行日期,如果距离证书过期还剩一周或更短时间,则subject使用文本行中的用户名创建 txt 文件True

答案1

最简单的方法是将日期字符串转换为纪元时间(自 1970-01-01 00:00:00 UTC 以来以秒为单位计算),并比较秒数。

要获取当前日期(以秒为单位),请执行以下操作:

[jenny@finch ~]$ date +%s
1464162079

要从上面的日期字符串中获取日期,请执行以下操作

[jenny@finch ~]$ date -d 'Oct 8 13:48:27 2020 GMT'  +%s
1602164907

一周为 604800 秒,检查两次时间之差是否小于该值。

相关内容