MySQL 数据库日志切割脚本

出处: http://netkiller.github.io/ 

 

Bash代码   收藏代码
  1. #!/bin/bash  
  2. USER=backup  
  3. PASS=SaJePoM6BAPOmOFOd7Xo3e1A52vEPE  
  4. LOGDIR="/tmp/backup"  
  5. DATADIR="/var/lib/mysql"  
  6. LOG=mysql.log  
  7. LOG_ERROR=mysql_error.log  
  8. LOG_SLOW_QUERIES=slow.log  
  9. SOCKET="/var/lib/mysql/mysql.sock"  
  10. #Number of copies  
  11. COPIES=30  
  12. SHARDING=$(date -d "yesterday" +"%Y-%m-%d")  
  13.    
  14. mkdir -p ${LOGDIR}/${SHARDING}  
  15.    
  16. while read logfile age  
  17. do  
  18.     mv ${DATADIR}/$logfile ${LOGDIR}/${SHARDING}  
  19. done << EOF  
  20. ${LOG}  
  21. ${LOG_ERROR}  
  22. ${LOG_SLOW_QUERIES}  
  23. EOF  
  24.    
  25. mysqladmin -u${USER} -p${PASS} --socket=${SOCKET} flush-logs  
  26.    
  27. find $LOGDIR -type f -ctime +$COPIES -delete  

 

 https://gist.github.com/netkiller/7904307

你可能感兴趣的:(MySQL 数据库日志切割脚本)