Chinaunix首页 | 论坛 | 博客
  • 博客访问: 137606
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 309
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-06 11:27
个人简介

开启暴走模式。

文章分类

全部博文(31)

文章存档

2017年(19)

2016年(1)

2015年(11)

我的朋友

分类: LINUX

2017-03-16 18:13:38


点击(此处)折叠或打开

  1. #!/bin/bash
  2. # -------------------------------------------------------------------------------
  3. # Filename: 300_https_svn_check.sh
  4. # Revision: v0.1
  5. # Date: 2017/03/16
  6. # Author: dily
  7. # Email: 312797697@qq.com
  8. # Metric value definition:
  9. # 0: successfully allocate memory
  10. # 1: failure allocate memory
  11. # -------------------------------------------------------------------------------
  12. # Revision v0.1
  13. # Description: 五分钟删除10个配置文件或是20个证书文件,即触发报警
  14. # -------------------------------------------------------------------------------
  15. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  16. export PATH

  17. function svn_check()
  18. {
  19.     local MYSVN=/data/mysvn
  20.     cd $MYSVN && svn update > /tmp/https_svn_check
  21.    
  22.     SVN_DEL_STATUS=(`cat /tmp/https_svn_check | awk '{if($1=="D") print $2}' | \
  23.             awk -F'/' '{print $NF}' | \
  24.             awk -F'.' '{print $NF}' | \
  25.             awk '{if($1=="autoconf")
  26.                     {i++}
  27.                   else if($1~/[cp][a-z]+/)
  28.                     {j++}
  29.                  }END{
  30.                   print i?i:0,j?j:0}'`)
  31.     echo ${SVN_DEL_STATUS[@]}
  32. }

  33. function alarm_https_svn()
  34. {
  35.     local HTTPS_SVN=(`svn_check`)
  36.     local HTTPS_CONF=${HTTPS_SVN[0]}
  37.     local HTTPS_CA=${HTTPS_SVN[1]}

  38.     if [ "${HTTPS_CONF}" -gt 10 ] || [ "${HTTPS_CA}" -gt 20 ];then
  39.         echo ERROR
  40.         return 1
  41.     else
  42.         echo OK
  43.         return 0
  44.     fi
  45. }

  46. # Call function
  47. MSG=$(alarm_https_svn)
  48. RETVAL=$?
  49. DATE=`date +%s`
  50. HOST=$HOSTNAME
  51. TAG=""

  52. # Send JSON message
  53. cat << EOF
  54. [
  55.   {
  56.     "endpoint" : "$HOST",
  57.     "tags" : "$TAG",
  58.     "timestamp" : $DATE,
  59.     "metric" : "https.svn.check",
  60.     "value" : $RETVAL,
  61.     "counterType": "GAUGE",
  62.     "step" : 300
  63.   }
  64. ]
  65. EOF

阅读(1356) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~