File System이 Full이다. 무엇을 해야 하나?
Posted at 2009. 3. 29. 13:07// Posted in 이 책 읽어 보세요
평소에 자주 파일 시스템이 커져서(예를 들어 95% 이상) 문제가 된다.
어떻게 해야 되나?
간단히 말하면 아래 3가지 Process로 행동하면 된다.
1. 일단 무슨 파일이 큰지 확인한다.
2. 파일 사이즈를 줄인다
3. 디스크를 늘린다
1. 일단 무슨 파일이 큰지 확인한다.
. 특정 디렉토리 이하 전체에서 큰 넘들을 찾고 싶다면
[se_olsps2:/log/smlog ] du -akd /log |sort -nr |more
10700908 /log
10700339 /log/smlog
905624 /log/smlog/authevent.log.090225.gz
903808 /log/smlog/authevent.log.090310.gz
865248 /log/smlog/authevent.log.090107.gz
694864 /log/smlog/authevent.log.20090325.gz
225880 /log/smlog/azevent.log.13Feb2009_16_15_44_1.gz
164624 /log/smlog/azevent.log.31Jan2009_15_07_06_36.gz
164584 /log/smlog/azevent.log.25Jan2009_12_38_36_32.gz
162000 /log/smlog/azevent.log.29Jan2009_01_05_33_34.gz
160976 /log/smlog/azevent.log.27Jan2009_20_00_21_33.gz
158656 /log/smlog/azevent.log.30Jan2009_11_16_05_35.gz
158456 /log/smlog/azevent.log.11Feb2009_18_01_55_44.gz
. 특정 디렉토리 이내에서만 확인하자면
[se_olsps2:/log/smlog ] ls -lR|sort -nr
총 4442
총 21396438
총 0
총 0
drwxrwx--x 2 sdsdev ecrm 512 3월 27일 07:16 authftp
drwxr-xr-x 2 root other 22528 2008년 9월 25일 authlog_bak
drwxr-xr-x 2 root other 15360 2008년 2월 23일 azlog_bak
.:
./azlog_bak:
./authlog_bak:
./authftp:
...
-rw-r--r-- 1 sdsutil ecrm 926888369 2월 24일 13:46 authevent.log.090225.gz
-rw-r--r-- 1 sdsutil ecrm 925031154 3월 6일 15:03 authevent.log.090310.gz
. 물론 각각의 명령어 (ls, du, sort) 옵션들을 (-akd, -nr) 잘 알아두면 좋다.
. .profile에 등록하면 다음에 쓸 때 편하다. (dusort 등)
. Window의 경우 간단히 검색 옵션에서 일정 크기 이상을 지정하면 된다.
2. 파일 사이즈를 줄인다.
. 압축을 한다.
물론 자동으로 압축 스크립트를 만들어서 cron에 등록하는게 좋다.
. Unix
: 일정 크기 이상이 되면 혹은 날짜가 지난 파일은 압축
이때 반드시 기존 파일은 백업을 받아둔다.
ex) 05 09 * * * cp /log/smlog/authevent.log /log/smlog/authevent.log.`date "+%y%m%d"`
: 기존 파일을 날짜 이름으로 백업
06 09 * * * cp /dev/null /log/smlog/authevent.log
: 파일 사이즈를 '0'으로 만든다.
윈도우도 같은 이름의 파일을 사이즈 '0'으로 만들어서 카피하면 된다.
ex) 00 06 * * * gzip `find /log/smlog/authevent.log.* -mtime +14 -a ! -name "*.gz"`
00 06 * * * gzip `find /log/smlog/authevent.log.* -size 100000m -a ! -name "*.gz"`
gzip `find /log/smlog/authftp/authevent* -size +10000 -a ! -name "*.gz"`
. 로그 레벨 등을 낮추어서 입력 값 자체를 줄인다.
(중요하다. 로그 관리 정책 혹은 개발자 문의 )
. (?) Window는 어떻게 하면 될까?
웹로그의 경우 매일매일 주기로 로그 파일을 생성하고
생성된 로그를 하루가 지나면 자동으로 백업할 수 없을까?
(IIS, 아파치 등 동일하게)
@echo off
setlocal
; %date%에서 모든 하이픈(-)을 지워 버림
set date2=%date:-=%
; %time%에서 모든 공백을 0으로 고침 (시각 부분이 zerofill된 게 아니라 그냥 right justify 되어 있어서...)
set time2=%time: =0%
; %time2%의 시각 부분과 분 부분만 잘라 냄
set time3=%time2:~0,2%%time2:~3,2%
; 이제 두 변수를 이어 붙여서 디렉토리를 만들면 땡!
mkdir %date2%_%time3%
endlocal
echo on
배치 파일은 의외로 강력한 도구입니다. :)
setlocal
; %date%에서 모든 하이픈(-)을 지워 버림
set date2=%date:-=%
; %time%에서 모든 공백을 0으로 고침 (시각 부분이 zerofill된 게 아니라 그냥 right justify 되어 있어서...)
set time2=%time: =0%
; %time2%의 시각 부분과 분 부분만 잘라 냄
set time3=%time2:~0,2%%time2:~3,2%
; 이제 두 변수를 이어 붙여서 디렉토리를 만들면 땡!
mkdir %date2%_%time3%
endlocal
echo on
배치 파일은 의외로 강력한 도구입니다. :)
'이 책 읽어 보세요' 카테고리의 다른 글
5월 25일 (0) | 2009.05.25 |
---|---|
Solaris - Network 설정 (0) | 2009.05.04 |
Unix 시스템 공부 하는 법 (0) | 2009.02.25 |
업무 관련 Question LIst (0) | 2009.01.05 |
사용 중인 프리웨어 (0) | 2009.01.04 |