mirror of https://github.com/cppla/ServerStatus
Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
![]() |
41ec81bed3 | |
![]() |
1557673db2 | |
![]() |
565f8c7ce0 |
|
@ -153,11 +153,13 @@ names_done:
|
||||||
}
|
}
|
||||||
// alarm logic
|
// alarm logic
|
||||||
if(cert->m_aExpireTS>0){
|
if(cert->m_aExpireTS>0){
|
||||||
int days = (int)((cert->m_aExpireTS - nowt)/86400);
|
// 剩余天数: 向下取整 (floor) —— 与 JSON expire_days 保持一致,用于阈值分桶和消息显示
|
||||||
int64_t *lastAlarm = NULL; int need=0; int target=0;
|
int64_t secsLeft = cert->m_aExpireTS - nowt;
|
||||||
if(days <=7 && days >3){ lastAlarm=&cert->m_aLastAlarm7; target=7; }
|
int days = (int)(secsLeft/86400);
|
||||||
else if(days <=3 && days >1){ lastAlarm=&cert->m_aLastAlarm3; target=3; }
|
int64_t *lastAlarm = NULL; int need=0;
|
||||||
else if(days <=1){ lastAlarm=&cert->m_aLastAlarm1; target=1; }
|
if(days <=7 && days >3){ lastAlarm=&cert->m_aLastAlarm7; }
|
||||||
|
else if(days <=3 && days >1){ lastAlarm=&cert->m_aLastAlarm3; }
|
||||||
|
else if(days <=1){ lastAlarm=&cert->m_aLastAlarm1; }
|
||||||
if(lastAlarm && (*lastAlarm==0 || nowt - *lastAlarm > 20*3600)) need=1; // avoid spam, 20h
|
if(lastAlarm && (*lastAlarm==0 || nowt - *lastAlarm > 20*3600)) need=1; // avoid spam, 20h
|
||||||
if(need && strlen(cert->m_aCallback)>0){
|
if(need && strlen(cert->m_aCallback)>0){
|
||||||
CURL *curl = curl_easy_init();
|
CURL *curl = curl_easy_init();
|
||||||
|
@ -166,7 +168,8 @@ names_done:
|
||||||
char timebuf[32];
|
char timebuf[32];
|
||||||
time_t expt = (time_t)cert->m_aExpireTS;
|
time_t expt = (time_t)cert->m_aExpireTS;
|
||||||
strftime(timebuf,sizeof(timebuf),"%Y-%m-%d %H:%M:%S", gmtime(&expt));
|
strftime(timebuf,sizeof(timebuf),"%Y-%m-%d %H:%M:%S", gmtime(&expt));
|
||||||
snprintf(msg,sizeof(msg),"【SSL证书提醒】%s(%s) 将在 %d 天后(%s UTC) 到期", cert->m_aName, cert->m_aDomain, target, timebuf);
|
// 使用 floor(days)
|
||||||
|
snprintf(msg,sizeof(msg),"【SSL证书提醒】%s(%s) 将在 %d 天后(%s UTC) 到期", cert->m_aName, cert->m_aDomain, days, timebuf);
|
||||||
char *enc = curl_easy_escape(curl,msg,0);
|
char *enc = curl_easy_escape(curl,msg,0);
|
||||||
char url[1500]; snprintf(url,sizeof(url),"%s%s", cert->m_aCallback, enc?enc:"");
|
char url[1500]; snprintf(url,sizeof(url),"%s%s", cert->m_aCallback, enc?enc:"");
|
||||||
curl_easy_setopt(curl, CURLOPT_POST, 1L);
|
curl_easy_setopt(curl, CURLOPT_POST, 1L);
|
||||||
|
|
Loading…
Reference in New Issue