普通はlogrotate.dでおこなうみたいなのですが
うまくいかず・・・cronで逃げてしまった
スロークエリの設定
#!/bin/sh DAY=`env TZ=JST+15 date "+%Y%m%d"` echo "start $DAY">>/var/tmp/slow_query_db.log # スロークエリをoff mysql -u root -ppassword -e "set global slow_query_log = OFF;" mv -f /var/log/mysqld/slow_query.log /var/log/mysqld/slow_query$DAY.log touch /var/log/mysqld/slow_query.log chmod 777 /var/log/mysqld/slow_query.log # スロークエリをon mysql -u root -ppassword -e "set global slow_query_log = ON;" echo "end $DAY">>/var/tmp/slow_query_db.log
スロークエリをoffにしてからバックアップをとらないと
そこでもスロークエリがでてしまう・・・
結局、この形になった・・・
#!/bin/sh DAY=`env TZ=JST+15 date "+%Y%m%d"` echo "start">>/var/tmp/dbbackup.log date >>/var/tmp/dbbackup.log # スロークエリをoff mysql -u root -ppassword -e "set global slow_query_log = OFF;" FILENAME="db_site_$DAY.sql" mysqldump -u root --password=password db_site >"/mnt/backup_db/$FILENAME" # スロークエリをon mysql -u root -ppassword -e "set global slow_query_log = ON;" find /mnt/backup_db/*.sql -mtime +7 -exec rm {} \;
もっとスマートなやり方があると思うけど・・・とりあえずこの形になった