'로그 자동삭제'에 해당되는 글 1건
- 2009.05.29
0 0 * * * | 매일 자정에 |
find /db/mysql/mysqllog/mysql-bin.* | /db/mysql/mysqllog/ 에 있는 mysql-bin 이란 이름을 갖는 모든 파일 중 |
-ctime +14 | 최종 수정시간이 14일이 넘는다면 |
rm -rf {} \; | 지우시오~ |
흠... 이제 디스크 풀났다구 걱정할 필요는 없다.
***** 추가 ********************************************************
아.. MySQL 리퍼런스를 백날 읽고, 서버 스테이터스랑 베리어블을 백날 봐도 무슨 소용인가 ㅠ,.ㅠ
무식하면 3대가 내리 고생한다고...
MySQL 에서 글로벌 변수 logs를 찾아보자.
mysql> SHOW GLOBAL VARIABLES LIKE '%logs%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 60 |
+------------------+-------+
1 row in set (0.03 sec)
MySQL에서는 로그가 오래되면 자동으로 삭제하게 해주는, expire_logs_days 가 있다.
동적으로 변경이 가능한 변수이므로,
1. SET GLOBAL expire_logs_days = 60;
라고 입력해도 바로 적용 되고,
2. my.cnf 의 [mysqld] 영역에
-----------------------------------------------
[mysqld]
# generic configuration options
port = 3306
socket = /tmp/mysql.sock
skip-character-set-client-handshake
character-set-filesystem = utf8
default-character-set = utf8
skip-locking
expire_logs_days = 60
federated
------------------------------------------------
라고 추가해 주고 mysql을 재시작해도 된다.
mysql의 로그는 예민한 영역이 될 수 있으므로,
시스템이 권장하는 방식으로 로그를 관리하도록 하자.