天天看點

MySQL 資料庫日志切割腳本

MySQL 資料庫日志切割腳本

#!/bin/bash  

user=backup  

pass=sajepom6bapomofod7xo3e1a52vepe  

logdir="/tmp/backup"  

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=30  

sharding=$(date -d "yesterday" +"%y-%m-%d")  

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  

find $logdir -type f -ctime +$copies -delete