2012.03.16 18:43
[ 비대해진 로그 파일 내용을 비우는 방법 - /dev/null ]
관리자가 없어 자주 확인을 하지 않는 서버들의 경우는 홈페이지가 열리지 않는 경우
하드웨어 장애가 아닐 경우에 상당수 많은 부분을 차지 하는 것이 파티션 사이즈가 100% 가 되면서 문제가 발생되곤 합니다.
이 경우 근본적인 해결책은 로그를 logrotate와 같은 형태로 분할 진행할 수 있겠지만,
급한대로 로그를 비워야할 때 어떻게 해야 할지 모르는 경우가 있다.
1. Log file은 apache, mysql, 등 어플리케이션 설정내에서 경로가 지정되어 있기 때문에, 삭제 하
게 되면 오류가 발생 하게 됩니다.
아래와 같이 /usr 혹은 /var 파티션이 100%가 되는 경우가 상당 수 발생.
[root@hostway /]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 1.9G 826M 963M 47% /
/dev/sda6 ext3 950M 19M 884M 3% /tmp
/dev/sda3 ext3 4.6G 485M 3.9G 11% /var
/dev/sda2 ext3 9.2G 9.2G 0G 100% /usr
/dev/sda7 ext3 92G 64G 24G 74% /home
/dev/sda8 ext3 118G 93G 20G 83% /data
2. 이 경우 어떤 파일 혹은 디렉토리가 큰 용량을 차지하고 있는지 확인이 필요 합니다.
방법 1) du 명령을 통해 용량이 큰 디렉토리 및 파일 확인
[root@hostway ~]# cd /usr
[root@hostway usr]# du -sh *
578M lib
55M libexec
7.2G local
16K lost+found
[root@hostway usr]# cd local
[root@hostway local]# du -sh *
위와 같은 형태로 찾아 찾아 들어가는 형태로 파일이 커진 파일을 확인 할 수 있습니다.
방법 2) find를 이용해 /usr 디렉토리 밑에 200M 이상 파일들 찾는 방법 예시
[root@hostway usr]# find /usr -size +200000 -print
위 방법들로 파일 사이즈가 큰 것들을 찾을 수 있습니다.
3. 보통 문제가 되는 파일들은 /usr/local/apache2/logs/~~ 경로와 같이 웹 로그 파일들이 쌓이는
부분에서 문제가 발생 합니다.
예를 들어 /usr/local/apache2/logs/access.log 파일의 크기가 3.5G나 되는 경우 로그를 여는데도
상당 수 시간이 소요되며, 서버의 부하가 발생 합니다.
이 경우 로그가 꼭 필요하다면, 여유가 있는 다른 파티션으로 이동 후 비워주는 작업을 해주셔야
합니다.
아래 명령을 수행 하게 되면 null (0) 값으로 access.log를 채우게 되면서 결과적으로는 사이즈가
0이 되어지고 파일은 남아있습니다.
[root@hostway usr]# cat /dev/null > /usr/local/apache2/logs/access.log
/usr 파티션에는 아래와 같이 3.5G 여유공간이 생깁니다.
[root@hostway /]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 1.9G 826M 963M 47% /
/dev/sda6 ext3 950M 19M 884M 3% /tmp
/dev/sda3 ext3 4.6G 485M 3.9G 11% /var
/dev/sda2 ext3 9.2G 5.7G 3.5G 70% /usr
/dev/sda7 ext3 92G 64G 24G 74% /home
/dev/sda8 ext3 118G 93G 20G 83% /data
위와 같은 원인이 발생하는 이유는 공간부족으로 인해 데몬이 구동하기 위해 필요한 pid 파일이
생성되지 못하기 때문입니다.
- Mysql의 bin log 같은 경우엔 주의가 필요로 합니다.
제일 마지막 번호의 log 인 즉 데몬이 쿼리를 쌓고 있는 파일은 비우시면 안됩니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
86 | 하드디스크의 배드블럭을 검사하는 명령어 (badblocks) | 호스트웨이 | 2012.03.30 | 21198 |
85 | 현재 설치된 메모리 정보를 확인하는 방법 | 호스트웨이 | 2012.03.30 | 32685 |
84 | Swap 메모리 늘리기 | 호스트웨이 | 2012.03.30 | 67349 |
83 | top 명령어 및 옵션 설명 | 호스트웨이 | 2012.03.27 | 52814 |
82 | arp 명령 사용법 | 호스트웨이 | 2012.03.27 | 28357 |
81 | 서버의 바이오스, 메인보드에서 지원하는 최대 메모리 확인 방법 | 호스트웨이 | 2012.03.23 | 19558 |
80 | VSFTP 에서 사용하는 port를 변경하기 | 호스트웨이 | 2012.03.23 | 39951 |
79 | 포트를 사용중인 프로세스 확인하기 | 호스트웨이 | 2012.03.23 | 19293 |
78 | OSI 7 Layer 의 이해 | 호스트웨이 | 2012.03.23 | 18471 |
77 | vsftp사용 시 root 계정 이용하기 | 호스트웨이 | 2012.03.23 | 18579 |
76 | yum repository 국내 mirror 설정 | 호스트웨이 | 2012.03.23 | 37276 |
75 | scp 명령어를 이용한 파일 복사 및 전송 | 호스트웨이 | 2012.03.16 | 265940 |
74 | at 명령어를 이용한 예약 작업 | 호스트웨이 | 2012.03.16 | 22002 |
73 | history 조회시 '날짜,시간' 표시하기 | 호스트웨이 | 2012.03.16 | 50799 |
» | 비대해진 로그 파일 내용을 비우는 방법 - /dev/null | 호스트웨이 | 2012.03.16 | 61604 |
71 | grep 명령어 사용하기 | 호스트웨이 | 2012.03.16 | 19345 |
70 | 데비안 백포트 사용해 보기 | 호스트웨이 | 2012.03.16 | 18373 |
69 | 리눅스 서버 누가 언제 무슨 작업을 했는지 확인 방법 | 호스트웨이 | 2012.03.09 | 94164 |
68 | SSH 패스워드 없이 자동 로그인 하는 방법 | 호스트웨이 | 2012.03.09 | 18178 |
67 | DHCP 환경에서의 resolv.conf 초기화 현상 | 호스트웨이 | 2012.03.09 | 23808 |