数据库日志文件太大怎么办_数据库日志切割脚本

发布时间:2019-12-16编辑:脚本学堂
遇到数据库日志文件太大应该如何处理,数据库日志过大问题怎么解决,这里分享一例shell脚本,用于定期切割mysql数据库日志文件。

怎么解决数据库日志文件过大的问题?

shell/ target=_blank class=infotextkey>shell脚本,解决数据库日志文件过大的问题。
 

复制代码 代码示例:

#!/bin/bash
#

USER=backup
PASS=SaJePoM6BAPOmOFOd7Xo3e1A52vEPE
LOGDIR=/backup/dblog
DATADIR=/var/lib/mysql
LOG=mysql.log
LOG_ERROR=mysql_error.log
LOG_SLOW_QUERIES=slow.log
SOCKET="/var/lib/mysql/mysql.sock"
#Number of copies
COPIES=365
SHARDING=$(date -d "yesterday" +"%Y-%m-%d.%H:%M:%S")
 
mkdir -p ${LOGDIR}/${SHARDING}
 
while read logfile age
do
    mv ${DATADIR}/$logfile ${LOGDIR}/${SHARDING}
done << EOF
${LOG}
${LOG_ERROR}
${LOG_SLOW_QUERIES}
EOF
 
mysqladmin -u${USER} -p${PASS} --socket=${SOCKET} flush-logs
 
gzip ${LOGDIR}/${SHARDING}/*.log
 
find $LOGDIR -type f -ctime +$COPIES -delete