根据磁盘使用率自动清理binlog日志文件

场景:

       开发环境或测试环境,研发人员或测试人员会对MySQL数据库执行跑批压测操作时。会产生大量的binlog日志文件。容易把binlog日志所在的目录撑爆。导致压测任务意外失败。

构建一个“判断磁盘使用率,到达一定条件后,自动清理binlog日志文件”。

vi auto_clear_binlog.sh

#!/bin/bash

USER=operator
PASSWD=Psswd@789
HOST=127.0.0.1
PORT=33066
now_date=`date +"%Y-%m-%d %H:%M:%S"`


mysql -u$USER -p$PASSWD -h$HOST -P$PORT >/home/mysql/tmprecordbinlog.txt <<EOF
show binary logs;
exit
EOF

blogname=`cat /home/mysql/tmprecordbinlog.txt |grep greatdb-bin |awk '{ print $1}' | tail -5 |head -1`
echo $now_date >>/home/mysql/deltebinlog.txt 

usage=`df -h | awk '$6=="/"{sub("%","",$5);print $5}'`
if [ $usage -gt 22 ]; 
  then

mysql -u$USER -p$PASSWD -h$HOST -P$PORT >>/home/mysql/deltebinlog.txt  <<EOF
show binary logs;
purge binary logs to '$blogname';
exit
EOF

fi

root用户创建crontab执行计划。每5分钟执行一次“auto_clear_binlog.sh”脚本。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值