当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- jenkins安装部署过程简记
- ES6 learning notes (4): easy to understand the new grammar of ES6
- Ronglian completed US $125 million f round financing
- 检测证书过期脚本
- MongoDB与SQL常用语法对应表
- 2020-09-04:函数调用约定了解么?
- 2020-08-14:数据任务的执行引擎用的哪些?
- Those who have worked in China for six years and a million annual salary want to share these four points with you
- Hdu3974 assign the task segment tree DFS order
- 2020-08-24:什么是小文件?很多小文件会有什么问题?很多小文件怎么解决?(大数据)
猜你喜欢

行为型模式之备忘录模式

What kind of music do you need to make for a complete game?

Summary of front-end interview questions (C, s, s) that front-end engineers need to understand (2)

Message queue - Analysis

How about small and medium-sized enterprises choose shared office?

Can you do it with only six characters?

预留电池接口,内置充放电电路及电量计,迅为助力轻松搞定手持应用
![[elastic search engine]](/img/3b/00bc81122d330c9d59909994e61027.jpg)
[elastic search engine]

事务的本质和死锁的原理

2020-08-15:什么情况下数据任务需要优化?
随机推荐
ES6 learning notes (3): teach you to use js object-oriented thinking to realize the function of adding, deleting, modifying and checking tab column
Stickinengine architecture 12 communication protocol
What is the purchasing supplier system? Solution of purchasing supplier management platform
Unity performance optimization
MRAM高速缓存的组成
Novice guidance and event management system in game development
Helping financial technology innovation and development, atfx is at the forefront of the industry
行为型模式之备忘录模式
es创建新的索引库并拷贝旧的索引库 实践亲测有效!
谷歌浏览器实现视频播放加速功能
[byte jumps, autumn recruitment Posts open] ohayoo! Don't leave after school, I want to ask you to play games!!!
Digital city responds to relevant national policies and vigorously develops the construction of digital twin platform
Road to simple HTML + JS to achieve the most simple game Tetris
Python 100 cases
Call analysis of start method in JNI thread and callback analysis of run method
Contract trading system development | construction of smart contract trading platform
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
An article takes you to understand CSS3 picture border
ES6 learning notes (4): easy to understand the new grammar of ES6
An article takes you to understand CSS pagination examples