ChinaUnix首页 > 精华文章 > MySQL > 正文

[保留] mysql bin日志文件清除sh


http://www.chinaunix.net 作者:justinyun  发表于:2008-04-05 00:08:11
发表评论】 【查看原文】 【MySQL讨论区】【关闭

#!/bin/sh
## 2007-11-6

DELLOG="/usr/local/logs/del-sqlbin.log.`date +%d`"
DELTMP="/usr/local/logs/del-sqlbin.tmp"
MAIL_ADDR="xxx@xxx.xx"
exec &>$DELLOG

DT=`date +'%Y-%m-%d %T'`
SINGLE=0
sleep 30

hostname
echo `date +'%Y-%m-%d %T'`
echo "EXEC>>"
echo "PURGE MASTER LOGS BEFORE '$DT';"
echo "PURGE MASTER LOGS BEFORE '$DT';" >$DELTMP
mysql -uroot -pxxx <$DELTMP

if [ $? = 0 ];then
        echo "Purge master logs sucess!"
else
        echo "Purge master logs failure!"
        SINGLE=1
fi
echo "--------------------------------"
echo

if [ $SINGLE = 1 ];then
        mail -s "Purge_master_logs_err" $MAIL_ADDR <$DELLOG
fi



 yejr 回复于:2007-11-09 22:14:54

不错,支持


 mysnopy 回复于:2007-11-15 12:41:28

能不能详细解释下?


 ypingyuan 回复于:2007-11-23 10:19:31

引用:原帖由 mysnopy 于 2007-11-15 12:41 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7594243&ptid=1012110]
能不能详细解释下? 



MySQL 5.1 Reference Manual

12.6.1.1. PURGE MASTER LOGS Syntax

PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'

 Example:

PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';


 yueliangdao0608 回复于:2008-03-06 11:55:40

支持一下,好脚本!:em09:


 tiancongxin 回复于:2008-04-05 00:08:11

其实如果你对binlog要求不是太高的话,可以设置自动清除的,mysql有一个参数expire_logs_days ,即保留多长时间的binlog
set @expire_logs_days=xxx;
flush logs;




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=1012110
转载请注明作者名及原文出处