Shell
脚本实战之报警监控
0. 需求
今天碰到的一个需求是:我们部门的人晚上需要看钉钉监控,手动排监控表很麻烦,于是想着使用shell 整一个脚本,用以轮流通知大家监控。
1. 代码
#!/bin/bash
startDay=20181129 #the start day of calculate
str="A,B,C,D,E,F,G,H"
oldIFS=$IFS
IFS=,
arr=($str)
today=`date "+%Y%m%d"`
for ((i = 0;i<1000;i++))
do
tmp=`date -d "$startDay +$i days" +"%Y%m%d"`
if [ $tmp -eq $today ]
then
res=`expr $i % 8`
mes="今天值班的人是: ${arr[$res]}"
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxaaaabbbbccccdddzzz' \
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content": "'$mes'"
}
}';
fi
break
done
echo $mes
#date -d"20140101 -1 days" +"%Y%m%d" 指定日期的加减法
3. crontab
调用
使用 crontab 进行每天调用一次即可。15 10 * * * /data/work/shells/notifyMonitor.sh