通過shell可以檢測ssh證書過期時間。
關鍵指令碼為:
#提取主要資訊,過期時間
curl -o /dev/null -m 10 --connect-timeout 10 -svil 2>&1|grep 「expire date:」|sed 『s/*\s+expire date:\s+//』
[root@aliyun ~]
# curl -o /dev/null -m 10 --connect-timeout 10 -svil 2>&1|grep "expire date:"|sed 's/*\s\+expire date:\s\+//'
jun 25 05:31:02 2020 gmt
[root@aliyun ~]
#
整合**
#!/bin/bash
# author: licess
# website:
checkdomains=
"example.com abc.com"
alert_email=
""alert_days=
"10"
cur_dir=
$(dirname $0)
check(
) 2>
&1|grep
"expire date:"
|sed
's/*\s\+expire date:\s\+//'
) expire_time=
$(date -d "$" +%s)
alert_time=
$(($-$*
86400
)) expire_date_read=
$(date -d @$
"+%y-%m-%d"
) echo
"domain:$ expire date: $"if[
$ -ge $]&&
[$!=""];
then
python $/sendmail.py "$"
"domain: $ ssl certificate expire notice"
"domain: $ ssl certificate will expire on $."
fisleep 2
}for domain in$;
do check $
done
呼叫python傳送郵件
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys, smtplib
from email.mimemultipart import mimemultipart
from email.mimetext import mimetext
mailto = sys.ar**[1]
mailsubject = sys.ar**[2]
mailbodytext = sys.ar**[3]
mailserver =
'smtp.163.com'
mailserverport =
'465'
mailfrom =
'***[email protected]'
mailpassword =
'***xx'
mailalias =
'monitor'
#you can get smtp server and port from
print mailto
print mailsubject
print mailbodytext
msg = mimetext(mailbodytext,
'plain'
,'utf-8'
)msg[
'to'
]= mailto
msg[
'from']=
'%s <%s>'
%(mailalias, mailfrom)
msg[
'subject'
]= mailsubject
session = smtplib.smtp_ssl(mailserver,mailserverport)
#session = smtplib.smtp(mailserver,mailserverport)
#session.set_debuglevel(1)
session.login(mailfrom, mailpassword)
smtpresult = session.sendmail(mailfrom, mailto, msg.as_string())
session.quit(
)if smtpresult:
errstr =
""for recip in smtpresult.keys():
errstr =
"""could not delivery mail to: %s
server said: %s
%s%s"""
%(recip, smtpresult[recip][0
], smtpresult[recip][1
], errstr)
#raise smtplib.smtpexception, errstr
print errstr
else
:print
'message sent successfully.'
ssl_check.sh 中 checkdomains 為網域名稱列表,每個網域名稱空格分開,alert_email 為提醒郵箱,不填的話不郵件提醒,alert_days 為提前多少天提醒。
sendmail.py 中 mailserver 填寫你郵箱smtp伺服器的位址,mailserverport 填寫smtp伺服器端口,mailfrom 填寫郵箱,mailpassword 填寫郵箱密碼。因為目前很多vps服務商都將25埠封了所有預設使用ssl協議傳送,具體各個郵件服務商的smtp伺服器位址、埠資訊可以通過 常見郵件服務商smtp伺服器端口查詢 這裡進行查詢。
設定好前面的資訊可以 /root/ssl_check.sh 執行一下試試,看能不能正常獲取到期時間。
沒有問題的話可以在crontab中新增上 0 5 * * * /root/ssl_check.sh 這樣每天凌晨5點會檢查一次。
SSL過期時間檢視
很多 都用了https協議,但是需要注意ssl證書的過期時間,檢視方式有很多種。最直接的方法是通過瀏覽器的 安全鎖 檢視,以谷歌瀏覽器訪問csdn首頁為例 如果瀏覽器在訪問https 沒有顯示 安全鎖 可以通過f12 security certificate view certificate檢視 檢...
MySQLdump備份並傳送郵件
概述 文件中使用smtp協議,利用qq郵箱傳送郵件,其中客戶端授權碼是在開啟qq郵箱smtp服務是官方給予的,所以要牢記!1 配置smtp linux yum install y mailx 修改配置檔案 vi etc mail.rc 在末尾追加如下內容並儲存 set from x qq.com 設...
python檢測ipa證書過期時間
我們打出的ipa包,對應的證書和mobileprovision檔案是會過期的 過期了之後,ipa就會無法執行或安裝 為了方便知道打出的ipa的過期時間,下面提供乙個python指令碼,方便檢測 需要在mac上執行,把你的ipa放到pyhton指令碼所在的目錄 python指令碼如下 check ti...