픽업 서비스가 Postfix 마스터에서 깨어나야 하는 이유는 무엇입니까?

픽업 서비스가 Postfix 마스터에서 깨어나야 하는 이유는 무엇입니까?

Postfix master.cf 파일에는 qmgr 서비스를 깨우기 위한 정의가 포함되어 있습니다.

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
...
qmgr      unix  n       -       n       300     1       qmgr
...

qmgr에서매뉴얼 페이지, "수신 메일 도착을 기다리고 Postfix 배달 프로세스를 통해 메일 배달을 준비합니다." 맞습니다. 메일이 도착하자마자 수신 및 활성 대기열을 따라 어떻게 이동하는지 알 수 있습니다.

그런데 왜 기상 시간이 필요합니까? qmgr 프로세스는 항상 실행되어 작업을 수행합니다. 기상 일정을 보면 300초마다 전화가 온 후에만 일을 볼 것으로 예상하는데, 그럴 경우에는 그 때마다 메일만 이동되기 때문에 별로 의미가 없습니다.

답변1

로그에서 자세한 정보를 인쇄하는 자세한 "qmgr -v"를 활성화한 후 프로세스는 master.cf에 정의된 일정 시간에 깨어나는 것처럼 보입니다.

2024-01-22T11:53:09.068813+01:00 mx postfix/qmgr[3633521]: trigger_server_accept_local: trigger arrived
2024-01-22T11:53:09.068835+01:00 mx postfix/qmgr[3633521]: master_notify: status 0
2024-01-22T11:53:09.068841+01:00 mx postfix/qmgr[3633521]: request: 87 (W)
2024-01-22T11:53:09.068848+01:00 mx postfix/qmgr[3633521]: request: 0 (?)
2024-01-22T11:53:09.068854+01:00 mx postfix/qmgr[3633521]: request ignored
2024-01-22T11:53:09.068861+01:00 mx postfix/qmgr[3633521]: qmgr_scan_start: start incoming queue scan
2024-01-22T11:53:09.068867+01:00 mx postfix/qmgr[3633521]: master_notify: status 1
2024-01-22T11:53:09.068874+01:00 mx postfix/qmgr[3633521]: done incoming queue scan

그리고 새 메일이 도착하면 qmgr이 가동되어 명명된 메시지 파일을 활성 대기열에 삽입합니다.

2024-01-22T11:59:44.274607+01:00 mx postfix/qmgr[3633521]: trigger_server_accept_local: trigger arrived
2024-01-22T11:59:44.274630+01:00 mx postfix/qmgr[3633521]: master_notify: status 0
2024-01-22T11:59:44.274640+01:00 mx postfix/qmgr[3633521]: request: 87 (W)
2024-01-22T11:59:44.274649+01:00 mx postfix/qmgr[3633521]: request: 0 (?)
2024-01-22T11:59:44.274658+01:00 mx postfix/qmgr[3633521]: request ignored
2024-01-22T11:59:44.274667+01:00 mx postfix/qmgr[3633521]: qmgr_scan_start: start incoming queue scan
2024-01-22T11:59:44.274676+01:00 mx postfix/qmgr[3633521]: master_notify: status 1
2024-01-22T11:59:44.274685+01:00 mx postfix/qmgr[3633521]: qmgr_active_feed: queue incoming
2024-01-22T11:59:44.274695+01:00 mx postfix/qmgr[3633521]: qmgr_active_feed: incoming/419B440602
2024-01-22T11:59:44.274704+01:00 mx postfix/qmgr[3633521]: qmgr_message_alloc: active 419B440602

그래서 나는 제안된 아이디어를 확인할 수 있습니다.접미사 메일 목록

나는 포트 25에 연결이 들어올 때를 제외하고 qmgr이 전혀 실행될 것이라고 믿지 않습니다. postfix 소스 코드를 보지 않았지만 연결이 들어올 때 qmgr을 확인할 만큼 postfix가 똑똑한 것 같습니다. , 실행 중이 아닌 것을 확인하고 생성합니다. 마찬가지로 5분마다 qmgr을 깨우려고 시도하며 실행 중이 아닌지 확인하고 생성합니다.

qmgr은 깨우기 시간, 새 메일이 도착할 때, 정리 서비스에서 호출할 때, 그리고 마스터 프로세스가 구성될 때까지 기다릴 필요가 없습니다.

관련 정보