/var/mail 메일함 파일 너무 클 때 강제 크기 줄이기..

nonots의 이미지

메일 계정이 많은데 스팸등이 쌓이면 수백메가로 커지고
이걸 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일 여행권 받으?
...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.