需求:由于线上库有较多的增删改操作,一天的binlog 日志可能就达到200-300G。这时候我们按照天数清理binlog 已经无法起作用了,因此编写脚本按照个数清理binlog。当磁盘空间达到90% 的时候清理binlog。
clean_binlog.py
#!/usr/bin/python
import psutil
import os
import re
import pymysql
import logging
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='/var/log/clean_mysql_binlog.log', level=logging.INFO, format=LOG_FORMAT)
#获取剩余磁盘大小
disk_stat = psutil.disk_usage('/home')
disk_percent = disk_stat.percent
logging.info('The percentage of disk usage is %d'