바로가기 메뉴
본문내용 바로가기
메인메뉴 바로가기



Customer Center

Notice · Security Issue · Account Guide · Global Traffic Test

HOME > Customer Center > Tech Note

기술노트

리눅스 오래된 파일 지우기 bin-log
2016.02.19
mysql bin-log 가 많이 쌓여서, 디스크를 꾹꾹 채워가는 것이 마음에 걸린다.

로그를 자동으로 지우고 싶다...

그래서 고수님이 일전에 가르쳐 주신, 리눅스 명령어를 이용해 크론탭을 걸어주었다.

## CRONTAB ##########################################################################
0 0 * * * (find /db/mysql/mysqllog/mysql-bin.* -ctime +14 -exec 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의 로그는 예민한 영역이 될 수 있으므로,
시스템이 권장하는 방식으로 로그를 관리하도록 하자.

이호스트데이터센터(http://www.ehostidc.co.kr)
첨부파일