본문 바로가기
운영체제/리눅스

[Linux] 메일큐 병렬 처리하기 (멀티큐)

by o테리o 2011. 11. 1.

메일을 대량으로 보내야하는 서버의 경우 메일큐에서 순차적으로 하나씩 보내기때문에 그만큼 시간도 오래걸리고 누락되는 경우도 있다..

이에 필자는 [멀티 큐]라는 기능을 이용하기로 하였다.


[ 멀티 큐의 장점 ]

멀티 큐의 장점은 다음과 같다.

  • 고성능
  • 병렬 큐 처리
  • 파일 시스템 결점 보완

[수정파일]

/etc/mail/sendmail.cf


없을경우

/etc/sedmail.cf


버젼에따라 파일의 위치가 상이하니 참고하세요.

이파일의 내용중에

라고된부분이 있을것이다.

우리는 멀티큐를 이용할것이니

수정후에


cd /var/spool/mqueue/

이동하여


mkdir q1 q2 q3 q4 q5 q6

이렇게 멀티큐를 이용할수있는디렉토리를 지정해주자.


이제 다끝났다 마지막으로 sendmail만 리스타트해주도록하자


rpm으로 설치하였거나 yum update를 하였다면


service sendmail restart 해주면 될것이며


소스설치라면 귀찮더라도


/etc/init.d/sendmail restart 를 해주도록하자..


이제 멀티큐가 되었는지 확인을 해보자.


쉘상태에서 mailq 라고 입력을 해보자


/var/spool/mqueue/q1 is empty
/var/spool/mqueue/q2 is empty
/var/spool/mqueue/q3 is empty
/var/spool/mqueue/q4 is empty
/var/spool/mqueue/q5 is empty
/var/spool/mqueue/q6 is empty
Total requests: 0


이런식으로 나오면 멀티큐가 된것이다.


약 300통이상보내고나서 다음날 확인하니 큐에 메일이 안가고 싸인게 몇개있다싶으면


sendmail -oQ/var/spool/mqueue -oT1d -q -v


명령으로 강제로라도 보내서 메일을 못받았으니 이런소리가 안나오도록하자..