钉钉机器人推送服务状态
以下是获取服务器状态和备份数据库的脚本
需要去钉钉新建机器人并拿到它的token
vim dingding.sh
```
mysqlh=`netstat -ntlp | grep mysqld | wc -l` #mysql服务的所占行数
mysqlbeifen=/opt/mysql-bei-fen/ #备份路径
mysqldate=`date +%Y-%m-%d` #获取当前时间
cpuUsage=$((100-$(top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "."))) #cpu占用率
memoryUsed=`free -m | sed -n '2p' | awk '{printf "%.0f\n",($3)/$2*100}'` #内存使用率
diskused=$(df -Ph | grep '/dev/vda1' | awk {'print $5'}) #磁盘使用率
function dingding(){
keyword="服务器监控" #关键字
Dingding_Url='https://oapi.dingtalk.com/robot/send?access_token=53f9105b59c#########################'
curl ${Dingding_Url} -H "Content-Type: application/json" -d '{"msgtype":"text","text":{"content":"'${keyword}''${msg}'"},"at":{"atMobiles":["19800000000"],"isAtAll":false}}'
}
if [ ${mysqlh} -eq 2 ] #判断值是否等于2,等于则为true,反之false
then
mysqldump --all-databases | gzip > ${mysqlbeifen}${mysqldate}.sql.gz #备份并压缩
msg='\n'cpu使用率:${cpuUsage}%'\n'内存使用率:${memoryUsed}%'\n'磁盘使用率:${diskused}'\n'数据库备份:成功
scp -P 100 /opt/mysql-bei-fen/${mysqldate}.sql.gz root@124.220.48.40:/opt/mysql-bei-fen/ #备份拷贝到另一台服务器上
find /opt/mysql-bei-fen/ -mtime +9 -name "*.sql.gz" -exec rm -f {} \; #删除10天以前的备份
dingding
else
msg='\n'cpu使用率:${cpuUsage}%'\n'内存使用率:${memoryUsed}%'\n'磁盘使用率:${diskused}'\n'数据库备份:失败
dingding
fi
```