shell脚本实现钉钉机器人预警

1 项目背景为,服务器上会定时拉去实时数据文件,文件夹内有记录当前数据最新批次时间如下格式

2022-03-11 23:26:00 ,实现思路是把txt中时间转化为时间戳和当前时间戳比对,如果时间大于10分钟,说明实时数据拉取有异常,然后将数据未更新消息发生钉钉群里, 

可以迁移扩展为 : 内存 使用率 ,磁盘使用率,服务端口异常等监控钉钉群报警

2 如何建立钉钉机器人报警,并生成token值,可以自行百度

3 脚本详情如下

#!/bin/bash
txtDate=$(cat /home/basedata/last-date.txt)
#last-date.txt 会记录文件最新下载批次时间
echo "txt中时间为:" $txtDate
txtTimeStamp=`date -d "$txtDate" +%s`
echo "txt日期时间戳: " $txtTimeStamp
currentDate=`date "+%Y-%m-%d %H:%M:%S"` 
echo "当前日期:" $currentDate 
currentTimeStamp=`date -d "$currentDate" +%s`
echo "当前日期时间戳:" $currentTimeStamp
cha=$(($currentTimeStamp-$txtTimeStamp))
echo $cha
if [ $cha -gt 600 ];then
#  access_token 后面需要填写你实际钉钉群的token值,才会发到相应钉钉群
    curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text","text": {"content": "业务报警: 实时文件已超过10分钟未更新,需检查!"}}'
   echo $currentDate "实时文件已超过10分钟未更新,需检查!" >>/home/info.log
else
   echo $currentDate "数据正常更新中" >>/home/info.log 
fi

4 添加定时任务,定时检查,有异常自动报警,

chmod +x  /home/dateCheck.sh

crontab -e  添加

*/10 * * * * sh /home/dateCheck.sh

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值