监控jira license 证书过期时间

一、监控jira license 证书过期时间

假如你装的不是破解版,又不想花钱,那么免费版是你的选择,可是烦恼的是一个月会定时更换一次证书。

就想通过脚本来监控jira license 证书的过期时间

首先知道需要什么

在正常使用情况下,要看到证书的日期需要经过2个登陆步骤
第一个就是用户登陆,第二个是管理员验证,所以需要拿第一次的cookie

脚本如下

#!/bin/bash
base_auth="https://jira.web.cn/secure/admin/WebSudoAuthenticate.jspa"
license_url="https://jira.web.cn/plugins/servlet/applications/versions-licenses"
cookie_name="login"
date_now=`date +%F`
date_now_unix=`date -d "${date_now}" +%s`
login_name="NAMES"
login_passwd="PASSWORDS"
temp='/opt/shell'
email="[email protected]"
# 定义字典
declare -A dic
dic=([一月]="01" [二月]="02"] [三月]="03" [四月]="04" [五月]="05" [六月]="06" [七月]="07" [八月]="08" [九月]="09" [十月]="10" [十一月]="11" [十二月]="12")

cd ${temp}

curl -u ${login_name}:${login_passwd} -d "webSudoPassword=${login_passwd}" -sS -c ${cookie_name} -o /dev/null -L ${base_auth}

sleep 1

default=`curl -sS  -b ${
     
     cookie_name} -L ${
     
     license_url} |grep  试用到期 |sed -r -n 's@.*试用到期</dt><dd>([0-9]+/.*/[0-9]+)</dd>.*@\1@p'`

_day=`echo ${
     
     default} |awk -F "/" '{print $1}'`
_month=`echo ${
     
     default} |awk -F "/" '{print $2}'`
_year=`echo ${
     
     default} |awk -F "/" '{print $3}'`

#echo ${dic[${_month}]}
# 判断证书是否跨年
if [ ${_year} == `date +%y` ];then
   year=`date +%Y`
else
   year=`date -d "next year" +%Y`
   echo $year
fi

# 拼接日期
date_license="${year}-${dic[${_month}]}-${_day}"

# 转换unix
date_license_unix=`date -d "${date_license}" +%s`
# 计算相差天数
stampDiff=`expr ${
     
     date_license_unix} - ${
     
     date_now_unix}`
dayDiff=`expr $stampDiff / 86400`

if [ ${dayDiff} -lt 5 ];then
   echo "请及时更换jira license!!离过期还有${dayDiff}天" | mail -s "Warning ! Please Change jira license" ${email}
fi


猜你喜欢

转载自blog.csdn.net/tony_wzx/article/details/106361662
今日推荐