#!/bin/bash
SLOWCFG=/etc/my.cnf
DATADIR=`awk /^datadir/ $SLOWCFG|awk -F"=" '{print $2}'`
SLOWDIR=`cat $SLOWCFG|grep "^slow_query_log_file"|awk -F"=" '{ print $2 }'`
SLOWNAME=`echo $SLOWDIR|awk -F"/" '{print $5}'`
SLOWUSER=root
SLOWPASS=shiyiwen
SLOWSCRIPT=/data/mysql-slow-ratate
NEWSLOWDIR=`find $DATADIR -name "$SLOWNAME*"|xargs ls -lt|awk 'NR==1 { print $9 }'`
OLDDIR=/var/log/old_log


if [[ -z $SLOWDIR || -z $NEWSLOWDIR || -z $SLOWNAME || -z $DATADIR ]];then
	echo "Please check configure...."
	exit 1
fi


if [ ! -d $OLDDIR ];then
	mkdir -p $OLDDIR
fi


cat >$SLOWSCRIPT<<EOF
$NEWSLOWDIR {   
        create 600 mysql mysql  
        notifempty
	dateext  
        daily  
        rotate 7  
        missingok 
	copytruncate
	olddir $OLDDIR
        #compress  
    postrotate  
        # just if mysqld is really running   
        if test -x /usr/bin/mysqladmin  &&   
           /usr/bin/mysqladmin ping  &>/dev/null  
        then  
           /usr/bin/mysqladmin -u$SLOWUSER -p$SLOWPASS flush-logs   
        fi  
    endscript  
}
EOF

if [ $UID -ne 0 ];then
	echo "Please use root running.."
	exit 1
fi

echo "59 23 * * * /usr/sbin/logrotate -f $SLOWSCRIPT">>/var/spool/cron/root
/etc/init.d/crond restart
echo -e "\033[34m OK! Sucess\033[0m"