/var/mail 메일함 파일 너무 클 때 강제 크기 줄이기..
메일 계정이 많은데 스팸등이 쌓이면 수백메가로 커지고
이걸 pop 로 여러명 읽으면 서버 디스크가 버벅입니다.
혹시 메일 설정에서 사용자가 pop 로 긁어가면 무조건
서버의 메일은 지우는 옵션 아시면 알려주시길..
..
메모리 한계로 mail -f 파일, 혹은 mutt -f 파일 등으로 불러오면
너무 커서 못열고 폴트를 내고 죽더군요..
그럴때 꽁수로 메일함 파일을 크기 줄이는 방법입니다.
..
========================================
/var/mail 에서 용량 큰 메일 파일 체크
[root@home7 mail]# ls -s1 | sort
...
174036 timetolover
206360 kjy0617
225604 bkang
237548 jnkim
249200 kwbb00
276704 garymm
합계 2692992
예를 들어 garymm 메일함을 정리한다면 일단 wc -l 명령어로 총 몇라인인지 본다.
371만 라인이 넘는다.
[root@home7 mail]# wc -l garymm
3718446 garymm
tail 명령어로 예를 들면.. 200만 라인부터 끝까지,
즉 200만 이전에 쌓인 오래된 메일은 빼고
그 이후로 최근까지 쌓인라인만 ~.cut 파일로 임시로 만든 후
[root@home7 mail]# tail -n +2000000 garymm > garymm.cut
기존 garymm 파일에 덮어쓴다. 만약 못미덥다면 미리 메일함 파일을 백업해둔다.
[root@home7 mail]# mv -f garymm.cut garymm
소유권과 퍼미션도 변경해준다. 이거 안하면 BOGUS.garymm~~ 처럼 잘못된다.
[root@home7 mail]# chown garymm.mail garymm
[root@home7 mail]# chmod 660 garymm
문제는 아래 처럼 mutt 로 하면 에러가 난다.
왜냐, 정해진 하나의 메일 첫부분과 끝부분 구분자를 무시하고 임의의 위치에서
잘랐기 때문이다.
[root@home7 mail]# mutt -f garymm
garymm는 메일함이 아님.
이 문제를 해결하려면 일단 좀 기본에 충실한(?) mail 명령어로 불러들여서
& d 1 와 같이 하나 삭제한 후 q 로 저장하고 종료하면 자동으로 깨진 부분을
치료한 후 저장한다.
[root@home7 mail]# mail -f garymm
Mail version 8.1 6/6/93. Type ? for help.
"garymm": 150 messages 1 new
....
149 yyi@aband.co.kr Fri Apr 6 17:21 392/14078 "[ABRAND] 제안 요청"
>N150 haa@unm.co.kr Fri Apr 6 17:38 25316/1926835 "FW: 입니다."
& d 1 <== 요부분
& q
"garymm" complete
이후에 다시 mutt -f 로 불러오면 정상적으로 뜬다.
[root@home7 mail]# mutt -f garymm
권기성 (2007-04-06 18:14:20)
가능하면 메일 사용자가 접근하지 않을 때 작업하는게 안전할듯.
권기성 (2007-04-06 18:20:20)
만약 메일함이 100메가 미만이라면...
mail -f 명령어로 열어서 메일 갯수를 확인한다.
아래 eventtv 계정은 총 6886 개 메일이 있다
이중에서 d 1-5000 명령어로 1번메일에서 5000번째까지 지울수 있다
[root@home7 mail]# mail -f eventtv
Mail version 8.1 6/6/93. Type ? for help.
"eventtv": 6886 messages 6883 new 6885 unread <== 이부분
>N 1 diskc@ne.com Sat Feb 18 14:04 42/1630 "디스크탑.. 2006신제품 국내최초 허리교정 특허"
...
N 43 yfl87glc@empal.com Mon Feb 20 11:32 44/1828 "중고차가 새차처럼 바뀌는 모습을 꼭 확인!!"
& d 1-5000 <== 이렇게 지운다..
& q
"eventtv" complete
[root@home7 mail]#
다시 열어보면 지운후 1884 개 ?? 남은 걸 알수 있다
[root@home7 mail]# mail -f eventtv
Mail version 8.1 6/6/93. Type ? for help.
"eventtv": 1884 messages 1884 unread
>U 1 webmaster@koreaa.co. Tue Dec 12 06:35 78/3747 "(광고)설문조사 참여하고 콘도 회원권 및 제주도 2박 3일 여행권 받으?
...
댓글 달기