procmail°ú perl·Î ¸ÞÀϼö½Å·Î±×¸¦ DB¿¡ ³²±â±â | ÀÛ¼ºÀÏ : 2004/01/16 13:20 |
Á¶È¸¼ö : 11659 |
Á¦ ¸ñ : procmail°ú perl·Î ¸ÞÀϼö½Å·Î±×¸¦ DB¿¡ ³²±â±â ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ ) ÀÛ¼ºÀÏ : 2004.1.15(¸ñ) ¼öÁ¤ÀÏ : 2004.1.18(ÀÏ) DB ½ºÅ°¸¶ ¼öÁ¤, mail_log.pl¿¡¼ ÀÛÀºµû¿ÈÇ¥(')ó¸® ¸ÞÀÏ ÄõÅÍ(ÆÄÀϽýºÅÛ ÄõÅͳª milterAPI¸¦ ÀÌ¿ëÇÏÁö ¾Ê°í ¼ø¼ö procmail+perl·Î¸¸À¸·Î ±¸ÇöÇÒ·Á´Â Áøº¸ÀûÀÎ(?) ÄõÅÍ)¸¦ À§ÇØ ¸¸µå´Â °úÁ¤¿¡¼ ¼ö½Å Á¤º¸°¡ ÇÊ¿äÇß°í, ÀÌ ¼ö½ÅÁ¤º¸¸¦ DB·Î ³²°Üµµ ÁÁ°Ú´Ù´Â »ý°¢À» ÇϰԵǾú´Ù. Áï, ´Ü¼øÈ÷ °ç´Ù¸®·Î ³ª¿Â °ÍÀÌÁö¸¸ ¾µ¸¸ÇÏ´Ù ½Í¾î(?) Á¤¸®ÇÏ¿© ¼Ò°³ÇÑ´Ù. 1. µé¾î°¡±â 1) DB·Î ³²±â¸é ¹¹°¡ ÁÁÀº°¡? - Åë°è󸮰¡ ½±°Ô °¡´ÉÇÏ´Ù. ¿ù ¸îÅëÀÇ ¸ÞÀÏÀ» ¹Þ´Â ¼¹öÀÎÁö COUNT(*)¸¸À¸·Î ½±°Ô È®ÀÎÇÒ ¼ö ÀÖ´Ù. - ¼ö½ÅÀÚº°·Î ¸ÞÀÏ ¼ö½Å ¸ÞÀÏ Åë¼ö Åë°è¸¦ º¼ ¼ö ÀÖ´Ù. (¼ö½ÅÀÚº° GROUP BY ·Î °¡´É) - ¸ÞÀÏ Á¦¸ñÀ» ÅëÇØ ÇÊÅ͸µÇÒ ½ºÆÔ ¸ÞÀÏ ¼³Á¤À» ½±°Ô µµ¿ÍÁØ´Ù. - SUM(MAIL_SIZE)¸¦ ÀÌ¿ëÇÏ¸é ¿ùº° ¸ÞÀÏ ¼ö½Å¿ë·®(Çì´õ Á¦¿Ü)À» È®ÀÎÇÒ ¼ö ÀÖ´Ù. 2) ¾î¶² ·Î±×¸¦ ³²±â´Â°¡? - ¸ÞÀÏ ¼Û½ÅÀÚ ¸ÞÀÏÁÖ¼Ò¿Í À̸§ - ¸ÞÀÏ ¼ö½ÅÀÚ ID - ¸ÞÀÏ Á¦¸ñ - º»¹® ±æÀÌ (´ÜÀ§ byte) - ¼Û½ÅÇÑ ÀϽà (Á¤È®È÷´Â DB¿¡ ·Î±×¸¦ ³²±ä ÀϽÃÀ̳ª ½Ã°£»óÀÇ Â÷ÀÌ´Â °ÅÀÇ ¾ø´Ù.) 3) °úÁ¤À» ÀÌÇØÇغ¸ÀÚ. sendmail, qmail µî¿¡¼ ¸ÞÀÏÀ» ¼ö½ÅÇϸé MDAÀÎ procmail·Î ³Ñ°ÜÁØ´Ù. -> /etc/procmailrc ¿¡¼ ¸ÞÀÏ Á¦¸ñ µðÄÚµùÀ» ÇÑ´Ù. (procmail¿¡¼) -> ¼Û½ÅÀÚ, ¼ö½ÅÀÚ, Á¦¸ñ, ±æÀÌ µîÀ» ¾ò¾î³»¾î º¯¼ö¿¡ ÀúÀåÇÑ´Ù. (procmail¿¡¼) -> ¾ò¾î³½ °ªÀ» mail_log.pl ·Î ³Ñ°ÜÁØ´Ù. (procmail¿¡¼) -> DB·Î ÀúÀåÇÑ´Ù. (mail_log.pl¿¡¼) 2. ¿ä±¸ »çÇ× 1) DB´Â MySQLÀ» »ç¿ëÇÑ´Ù. ¿À¶óŬµµ »ó°ü¾ø´Ù. ±×°Ô ¹Ù·Î Perl DBI¸ðµâÀÇ ÀåÁ¡ÀÌ´Ù. 2) Perl°ú Perl DBI, DBD ¸ðµâÀÌ ÇÊ¿äÇÏ´Ù. ÆÞÀÇ ÀúÀåâ°í¶ó ºÒ¸®´Â CPAN( http://www.perl.com/CPAN-local/ )¿¡¼ DBI, DBD ¸ðµâÀ» ±¸ÇÒ ¼ö ÀÖ´Ù. Âü°í·Î ·¹µåÇÞ 9¿¡¼´Â rpmÀ¸·Î Á¦°øµÈ´Ù. http://www.perl.com/CPAN-local/authors/id/T/TI/TIMB/DBI-1.40.tar.gz http://www.perl.com/CPAN-local/authors/id/J/JW/JWIED/DBD-mysql-2.1028.tar.gz ¸ÕÀú DBIÀ» ´ÙÀ½°ú °°Àº °úÁ¤À¸·Î ¼³Ä¡ÇÏ°í ¶È±ùÀÌ DBD-mysqlµµ ¼³Ä¡ÇÏ¸é µÈ´Ù. ±âÁ¸¿¡ ¼³Ä¡µÈ °ÍÀ» »ç¿ëÇßÀ¸¹Ç·Î, À§¿¡ ¸µÅ©ÇÑ ¼Ò½º·Î ÄÄÆÄÀÏÇßÀ» ¶§ ¹®Á¦°¡ ¹ß»ýÇÏ´ÂÁö¿¡ ´ëÇؼ´Â È®ÀÎÇØÁÙ ¼ö ¾ø´Ù.
3) ¸ÞÀÏ Á¦¸ñÀÇ ÇÑ±Û µðÄÚµùÀ» À§Çؼ´Â hcode ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÏ´Ù. (¿É¼Ç) ftp://ftp.kaist.ac.kr/pub/hangul/code/hcode/ ¿¡¼ ±¸ÇÒ ¼ö ÀÖÀ¸¸ç, make ¸¸À¸·Î ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. 3. procmail ¼³Á¤ [ /etc/procmailrc ¼³Á¤ Áß µðÄÚµù ºÎºÐ¸¸ ]
: ´Â ó¸®ÇÒ Á¶°ÇÀÇ ½ÃÀÛÀ» ÀǹÌÇϸç recipes¶ó ºÒ¸°´Ù. À§¿¡¼ Çì´õ¿¡¼ °¢°¢ÀÇ Á¶°ÇÀ» ã¾Æ ¸ÂÁö ¾ÊÀ¸¸é ´ÙÀ½ Á¶°Ç(E = else if·Î ÀÌÇØÇÏ¸é µÊ)À» ó¸®ÇÏ´Â ÇüÅ·ΠµÇ¾î ÀÖ´Ù. ÀÌ·± °úÁ¤À» °ÅÃÄ Base64³ª QP·Î ÀÎÄÚµùµÈ ¸ÞÀÏ Çì´õ¸¦ µðÄÚµùÇÏ°Ô µÈ´Ù. ÀÌÁ¦ includeµÈ mail_log.rc¸¦ »ìÆ캸ÀÚ. [ /etc/procmail/mail_log.rc ]
* ´Ù¿î·Îµå : http://coffeenix.net/truefeel/files/mail_log.rc °¢°¢ÀÇ Á¶°Ç¿¡ ÀÇÇØ ¼ö½ÅÀÚ, ¼Û½ÅÀÚ, ¸ÞÀÏÁ¦¸ñ, º»¹® ±æÀ̸¦ ¾ò¾î³½´Ù. ±× ¾ò¾îÁø °ªÀº º¯¼ö¿¡ ÀúÀåµÇ¾î mail_log.pl ÇÁ·Î±×·¥¿¡ Àμö·Î ³Ñ°ÜÁÖ°Ô µÈ´Ù. ¾î¶»°Ô ¸ÅĪÀÌ µÇ¾î FROM, TO, SUBJECT, LENGTH º¯¼ö¿¡ °ªÀÌ µé¾î°¡´ÂÁö ±Ã±ÝÇϸé procmailrc ¿¡ VERBOSE=yes ·Î ÇÏ¸é ½±°Ô È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
4. DB ½ºÅ°¸¶¿Í ·Î±ë ÇÁ·Î±×·¥ MAIL_LOG DB ½ºÅ°¸¶ÀÌ´Ù.
* ´Ù¿î·Îµå http://coffeenix.net/truefeel/files/mail_log.sql ´ÙÀ½Àº DB·Î ÀúÀåÇÏ´Â ÆÞ ¼Ò½ºÀÌ´Ù. [ /etc/procmail/mail_log.pl ]
* Syntax HighlightµÈ ¼Ò½º º¸±â : http://coffeenix.net/truefeel/files/mail_log.pl.html * ´Ù¿î·Îµå http://coffeenix.net/truefeel/files/mail_log.pl.txt °£´ÜÈ÷ »ìÆ캸ÀÚ. ³Ñ°Ü¿Â ÀμöÁß¿¡¼ ¼Û½ÅÀÚ Á¤º¸´Â À̸§°ú ¸ÞÀÏÁÖ¼Ò·Î ³ª´«´Ù. ¹°·Ð À̸§ÀÌ ¾ø¾îµµ ¹®Á¦¾øÀÌ Ã³¸®ÇÑ´Ù. ±×¸®°í DB¿¡ ÀúÀåÇÏ°í Á¾·áÇÑ´Ù. $DEBUG = 1 À¸·Î ÁöÁ¤ÇÏ¸é µð¹ö±ë¿¡ À¯¿ëÇÏ´Ù. ³Ñ°Ü¹ÞÀº Àμö¸¦ /tmp/maillog.debug¿¡ ÀúÀå ÇÑ´Ù. db_connect() ÇÔ¼ö¿¡¼ $database, $db_user, $db_passwdÀ» ¼³Á¤ÇØÁÖ¾î¾ß ÇÑ´Ù. ¸¸¾à Oracle DBÀ̶ó¸é 'DBI:mysql' ´ë½Å 'DBI:Oracle'À» ½áÁÖ¸é µÈ´Ù. ÁÖÀÇÇÒ °ÍÀº DB ºñ¹Ð¹øÈ£µµ ÀÖÀ¸´Ï ÆÄÀÏ Æ۹̼ÇÀ» 700(rwx------)À¸·Î ÇؾßÇÑ´Ù.
·Î±×°¡ Á¦´ë·Î ³²¾Ò´ÂÁö È®ÀÎÇغ¸ÀÚ. ·Î±×¸¦ DB·Î ³²°åÀ» ¶§ ¾î¶»°Ô È°¿ëÇÒ °ÍÀÎÁö »ý°¢Çߴ°¡? ±×·³ Áö±Ý ´çÀå ½ÃÀÛÇضó! 5. Âü°í ÀÚ·á * Procmail Tips http://pm-doc.sourceforge.net/pm-tips.html * procmail¿¡ °üÇÏ¿© (±Û ÀÌ»ó·Î) http://trade.chonbuk.ac.kr/~leesl/procmail/index.html * Short guide to DBI (The Perl Database Interface Module) http://www.perl.com/pub/a/1999/10/DBI.html |
Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=172 |