以下是获取服务器状态和备份数据库的脚本

需要去钉钉新建机器人并拿到它的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

```