一、监控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="tony_wzx@jira.com"
# 定义字典
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