shell打开钉钉_SHELL定时任务执行后钉钉机器人通知

最近,服务器不稳定,一些定时任务居然会出现没有执行的情况,所以,今天抽空写一个公共库,方便执行完毕调用钉钉机器人通知一下。

使用方法:将下面的代码保存为SdevSHcommon.sh文件,然后在需要的地方调用,注意,路径的正确。另外就是代码中的e**************************************************************f位置要修改为钉钉机器人的token值。要不,通知会出现错误,或者,在调用的时候指定token值。

然后在需要的地方,增加:

trap ‘finishNotice “{DATETIME}\n我这个是替换测试” 180********’ EXIT

将上面的”{DATETIME}\n我这个是替换测试”替换成你需要的内容,180********改为你的钉钉账户号,或者不填写,则通知全体。如果没有修改默认的token值则需要指定第三个参数。

其他就看代码吧,很简单的。

**********

#!/bin/bash

#

# . ./SdevSHcommon.sh

#

#

# USAGE:

# DingNotice “通知内容” [“AT谁”] [“群机器令牌”]

#

DingNotice()

{

local URL=”https://oapi.dingtalk.com/robot/send?access_token=”

# 通知内容

local MSG=$1

# at 谁

local TO=$2

# 机器人授权令牌

local TOTOKEN=$3

#

if [ “${MSG}” == “” ]; then

echo “通知内容不能为空”

exit 1

else

local datetime=$(date +”%Y-%m-%d %H:%M:%S”)

MSG=`echo ${MSG} | sed “s/{DATETIME}/${datetime}/g”`

#echo ${MSG}” – “${TO}” – “${TOTOKEN}

#exit 1

MSG=”\”msgtype\”: \”text\”,

\”text\”: {

\”content\”: \”${MSG}\”

}”

fi

if [ “${TO}” != “” ]; then

MSG=${MSG}”,”

TO=”\”at\”: {

\”atMobiles\”: [

\”${TO}\”

],

\”isAtAll\”: false

}”

fi

if [ “${TOTOKEN}” == “” ]; then

TOTOKEN=${URL}”e**************************************************************f

else

TOTOKEN=${URL}${TOTOKEN}

fi

#echo $@

#echo ${MSG}” – “${TO}” – “${TOTOKEN}

#exit 1

curl \

${TOTOKEN} \

-H ‘Content-Type: application/json’ \

-d “{

${MSG}

${TO}

}”

}

# DingNotice “测试一下”

#

# trap finishNotice EXIT

#

finishNotice()

{

# 通知内容

local MSG=$1

# at 谁

local TO=$2

DingNotice ${MSG} ${TO}

}

# trap ‘finishNotice “{DATETIME}\n我这个是替换测试” 180********’ EXIT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值