首页 > 系统相关 >shell脚本之证书到期监控和企微告警

shell脚本之证书到期监控和企微告警

时间:2024-06-06 17:11:58浏览次数:24  
标签:shell 证书 days echo https 告警 企微 com line

shell脚本之证书到期监控和企微告警

shell脚本实现ssl证书过期及webhook推送

脚本

https.sh

检测和告警脚本, https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxx替换为自己企微的webhook地址即可

#!/bin/bash
#****************************************************************************************
#Author:                 wei
#***************************************************************************************
#!/bin/bash
# 检测https证书有效期

source /etc/profile

while read line; do

end_time=$(echo | timeout 1 openssl s_client -servername $line -connect $line:443 2>/dev/null | openssl x509 -noout -enddate 2> /dev/null | awk -F '=' '{print $2}')

end_times=$(date -d "$end_time" +%s)
current_times=$(date -d "$(date -u '+%b %d %T %Y GMT')" +%s)

echo $end_times $current_times &> /dev/null

let left_time="$end_times - $current_times"
days=$(expr $left_time / 86400)
#echo "$line 剩余天数: ${days}"

#[[ ${days} -lt 30 ]] && echo "https ssl cert 少于 30 days" || echo "${line} 剩余时间是 $days"

if [[ ${days} -eq 0 ]];then
    echo "$line DNS解析异常"
elif [[ "${days}" -lt 0 ]];then
    echo "$line 证书已过期"
elif [[ "${days}" -lt 40 ]];then
    echo "$line 剩余天数: ${days}"
    curl -X POST -H "Content-Type: application/json" \
    -d '{"msgtype": "text", "text": {"content": "'$line' 证书过期剩余天数: '$days' , 请及时更换!!"}}' \
    https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxx
elif [[ "${days}" -lt 4 ]];then
    echo "$line 剩余天数: ${days}"
    curl -X POST -H "Content-Type: application/json" \
    -d '{"msgtype": "text", "text": {"content": "'$line' 证书过期剩余天数: '$days' , 请持续观察和验证证书!!"}}' \
    https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxx
fi

done < ./https_list

https_list

检查域名证书列表文件

api.wqyfchina.com
k8s.wqyfchina.com
api.wqyfchina.com

执行告警

 

 

 

 

 

标签:shell,证书,days,echo,https,告警,企微,com,line
From: https://www.cnblogs.com/weiweirui/p/18235646

相关文章

  • [GDOUCTF 2023] Shellcode
    [GDOUCTF2023]Shellcoderet2shellcode|shellcodeint__fastcallmain(intargc,constchar**argv,constchar**envp){charbuf[10];//[rsp+6h][rbp-Ah]BYREFsetbuf(stdin,0LL);setbuf(stderr,0LL);setbuf(stdout,0LL);mprotect((&stdout......
  • MySQL Shell 使用指南
    前言:MySQLShell是官方提供的MySQL周边适配组件,是新一代的高级客户端,在MySQL8.0及其以后的版本得以慢慢推广应用。之前笔者因为MySQL8.0用得比较少,一直没有详细使用过这个工具,近期在捣鼓MySQL8.0,趁此机会,一起来学习下吧。1.MySQLShell介绍与安装使用MySQLShell......
  • 在 Powershell 管道中创建新对象
    我希望将某些文件递归复制到目标目录,但保持相同的文件夹结构。我希望能够执行以下操作:gci-Recurse-File*.csproj|rvpa-Relative|select{@{src=$_;dst=[System.IO.Path]::GetDirectoryName($baseDir+$_)}}}|%{mkdir$_.dst&&cp$_.src$_.dst}......
  • MySQL Shell 的简单使用
    util.dumpTables():导出表util.dumpSchemas():导出单个或多个schemautil.dumpInstance():导出整个实例 util.dumpTables()的使用语法:util.dumpTables(schema,tables,outputUrl[,options])其中:·schema:是表所在的schema·tables:是一个数组,表示要导出的表的列表·outp......
  • Xshell或其他命令行终端中,提示符(prompt)中的主机名太长,影响视觉体验或阅读方便性
    如果在Xshell或其他命令行终端中,你发现提示符(prompt)中的主机名太长,影响视觉体验或阅读方便性,你可以通过修改Linux系统的配置来缩短或美化这个提示符。这里有两种方法来解决这个问题:###1.暂时修改提示符你可以在当前终端会话中临时改变提示符,这不会影响其他用户或重启后的设置。......
  • CodeWars Shell Question
    CodeWarsShellQuestionClock#https://www.codewars.com/kata/55f9bca8ecaa9eac7100004ah=$1m=$2s=$3echo"(($h*60+$m)*60+$s)*1000"|bcEvenOrOdd#https://www.codewars.com/kata/53da3dbb4a5168369a0000feEvenOrOdd(){if(($1%2==0));then......
  • sockos1.1-shellshock
    主机发现和nmap扫描nmap-sn192.68.56.0/24靶机ip:192.168.56.105nmap-sT--min-rate10000192.168.56.105PORTSTATESERVICE22/tcpopenssh3128/tcpopensquid-http8080/tcpclosedhttp-proxynmap-sT-sV-sC-O-p22,3128,8080192.168.56.105PO......
  • 使用powershell脚本,自动压缩文件夹,实现备份功能
    担心数据丢失?教你3分钟实现自动压缩,备份文件夹。最近在使用obsidian,想要在多台电脑上访问一个同一个仓库,所以我把obsidian-vault设置在了mac-mini的共享文件夹上。但是有一个问题,mac-mini上边的硬盘是我的闲置硬盘,随时都可能挂掉。一、通过脚本自动备份为了避免obsidian......
  • webshell工具流量特征
    一、蚁剑(PHP用base64加密)将蚁剑的正文内容进行URL解码后,流量最中明显的特征为@ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,但是有的客户端会将这段编码或者加密,而蚁剑是明文,所以较好发现,同时蚁剑也有eval这种明显的特征。......
  • Linux Shell Script 编写入门
    LinuxShell脚本是一种强大的工具,能够帮助用户自动化任务、简化系统管理以及提高工作效率。本文将带您全面了解如何编写LinuxShell脚本,并介绍一些常见的脚本编写技巧和注意事项。目录什么是LinuxShellShell脚本的基本结构常用Shell命令变量与注释条件判断与循环函数......