MySQL 로그가 많이 쌓여 삭제하려고 하는데요....
로그를 잘못 지우면 DB가 동작 안할수도 있다는 얘기가 있는것도 해서 불안하네요.
인터넷을 찾다 보니 아래와 같은 스크립트가 있다고 하는데요.
root 계정으로 저에게 맞게 수정한후 crontab에 올려 놓으면 되나요? 10일꺼 까지만 보관하는 하는거라고 하는데요.
찾아보니 SAVE_INTERVAL="10" 이게 있는데 이걸 고치면 보관날짜 맘대로 할수 있는건가요?
각각에 맞는 설명이 없으니 어떻게 해야 할지 잘 모르겠네요.
아시는분은 답변 좀 부탁드릴게요...^^
#####################################
# root 계정의 crontab 에서 호출됨
# 최근 10일 동안의 로그 보관
#####################################
CDATE=`date +%Y%m%d-%H%M%S`
LOG_DIR="/usr/local/mysql/data/logs"
USER="root"
PWD="12345"
SAVE_INTERVAL="10"
mysqladmin -u $USER -p$PWD flush-logs
# query log
cp $LOG_DIR/query.log $LOG_DIR/query.log.$CDATE
/bin/nice /bin/cat /dev/null > $LOG_DIR/query.log
# slow query log
cp $LOG_DIR/slow.log $LOG_DIR/slow.log.$CDATE
/bin/nice /bin/cat /dev/null > $LOG_DIR/slow.log
# binary log
mysql -u $USER -p$PWD -e "PURGE MASTER LOGS BEFORE DATE_SUB( NOW(), INTERVAL $SAVE_INTERVAL DAY );"
# error log
mv $LOG_DIR/error.err-old $LOG_DIR/error.err.$CDATE
# delete logs
find $LOG_DIR -type f -ctime +$SAVE_INTERVAL -exec rm -f {} ';'
|