当前位置:网站首页>Detect certificate expiration script
Detect certificate expiration script
2020-11-06 21:29:00 【Irving the procedural ape】
Premise
It's always a hindsight , It's always a hindsight . The status quo is that whatever problems arise , Can not carry out early warning and intervention before the customer is unknown . In the morning, I had a chance to communicate with the R & D manager , Write this script , Trying to start with early warning .
From production k8s Cluster get realibox.cn Certificate , In the pre launch environment daemon Case study .
daemon Case study
# pwd/yufa/zhengshu/testlltotal 32-rw-r--r-- 1 root wheel 465B 9 9 09:50 test-ingress.yaml-rw-r--r-- 1 root wheel 711B 9 9 09:47 test.yaml-rw-r--r-- 1 root wheel 3.5K 9 9 09:24 tls.crt-rw-r--r-- 1 root wheel 1.6K 9 9 09:25 tls.key# kubectl -n realibox create secret tls realibox-cn --key ./tls.key --cert ./tls.crt# cat test.yamlapiVersion: v1kind: Servicemetadata: name: tomcat namespace: realiboxspec: selector: app: tomcat release: canary ports: - name: http port: 8080 targetPort: 8080 - name: ajp port: 8009 targetPort: 8009---apiVersion: apps/v1kind: Deploymentmetadata: name: tomcat-deploy namespace: realiboxspec: replicas: 1 selector: matchLabels: app: tomcat release: canary template: metadata: labels: app: tomcat release: canary spec: containers: - name: tomcat image: tomcat:7-alpine ports: - name: httpd containerPort: 8080 - name: ajp containerPort: 8009# cat test-ingress.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata: name: ingress-tomcat-tls namespace: realibox annotations: kubernets.io/ingress.class: "kong"spec: tls: - hosts: - "*.realibox.cn" # And secret The domain name of the certificate needs to be consistent secretName: realibox-cn #secret The name of the certificate rules: - host: zisefeizhu.realibox.cn http: paths: - path: backend: serviceName: tomcat servicePort: 8080

Write a script to detect the expiration of domain name
I don't want to talk much about it
# cat check_daemon.sh#!/bin/bashsource /etc/profile# Define mailing lists maillist=( linkun@realibox.com #2350835860@qq.com)# Send mail function send_mail(){ SUBJECT="$1 The domain name is about to expire " if [ $2 -ge 0 ];then CONTENT="$1: This domain name is about to expire , There is not enough time left $2 God , Please renew it in time !" for mail in ${maillist[*]};do echo -e "" Currently detected domain name :" $domain\n " Days left : " $days\n ${CONTENT} " | mail -s "${SUBJECT}" $mail done else day=$((-$2)) CONTENT="$1: This domain name has expired , Exceeded $day God , Please renew in time !" for mail in ${maillist[*]};do echo -e "${CONTENT}" | mail -s "${SUBJECT}" $mail done fi}# testing mails Whether the order exists , If not, install mail package is_install_mail(){ which mail &> /dev/null if [ $? -ne 0 ];then yum install -y mail fi}is_install_mail# Define the list of domain names to be detected domainlist=( zisefeizhu.realibox.cn)# Detect domain expiration time and notify for domain in ${domainlist[*]};do echo " Currently detected domain name :" $domain # Remove domain name expiration time end_time=$(echo | timeout 1 openssl s_client -servername $domain -connect $domain:443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | awk -F '=' '{print $2}' ) ([ $? -ne 0 ] || [[ $end_time == '' ]]) && exit 10 end_times=`date -d "$end_time" +%s ` tmp=`date -d today +"%Y-%m-%d %T"` current_times=`date -d "$tmp" +"%s"` let left_time=$end_times-$current_times days=`expr $left_time / 86400` echo " Days left : " $days # Convert to timestamp end_times=`date -d "$end_time" +%s ` # Displays the current time in the form of a timestamp tmp=`date -d today +"%Y-%m-%d %T"` current_times=`date -d "$tmp" +"%s"` # The number of days left for domain name expiration let left_time=$end_times-$current_times days=`expr $left_time / 86400` echo " Days left : " $days if .........
版权声明
本文为[Irving the procedural ape]所创,转载请带上原文链接,感谢
边栏推荐
- window系统 本机查找端口号占用方法
- How does filecoin's economic model and future value support the price of fil currency breaking through thousands
- 2020-09-09:裸写算法:两个线程轮流打印数字1-100。
- list转换map(根据key来拆分list,相同key的value为一个list)
- Zero basis to build a web search engine of its own
- Python 100 cases
- 【涂鸦物联网足迹】涂鸦云平台全景介绍
- In depth to uncover the bottom layer of garbage collection, this time let you understand her thoroughly
- MongoDB与SQL常用语法对应表
- The native API of the future trend of the front end: web components
猜你喜欢

ES6 learning notes (2): teach you to play with class inheritance and class objects
![Tron smart wallet PHP development kit [zero TRX collection]](/img/3b/00bc81122d330c9d59909994e61027.jpg)
Tron smart wallet PHP development kit [zero TRX collection]

迅为-iMX6ULL开发板上配置AP热点
![[self taught unity2d legendary game development] map editor](/img/3b/00bc81122d330c9d59909994e61027.jpg)
[self taught unity2d legendary game development] map editor

Can you do it with only six characters?

The native API of the future trend of the front end: web components

An article will introduce you to CSS3 background knowledge

Filecoin has completed a major upgrade and achieved four major project progress!

How to start the hidden preferences in coda 2 on the terminal?

美团内部讲座|周烜:华东师范大学的数据库系统研究
随机推荐
迅为-iMX6ULL开发板上配置AP热点
嘉宾专访|2020 PostgreSQL亚洲大会阿里云数据库专场:王涛
An article takes you to understand CSS3 picture border
Open source a set of minimalist front and rear end separation project scaffold
What kind of music do you need to make for a complete game?
NAND FLASH的接口控制设计
小熊派开发板实践:智慧路灯沙箱实验之真实设备接入
Diamond standard
2020-08-19:TCP是通过什么机制保障可靠性的?
2020-08-15:什么情况下数据任务需要优化?
Python basic variable type -- list analysis
What is the meaning of sector sealing of filecoin mining machine since the main network of filecoin was put online
Summary of front-end performance optimization that every front-end engineer should understand:
Using an example to understand the underlying processing mechanism of JS function
Novice guidance and event management system in game development
Junit测试出现 empty test suite
An article will take you to understand CSS3 fillet knowledge
An article will take you to understand SVG gradient knowledge
递归、回溯算法常用数学基础公式
jenkins安装部署过程简记