[Linux] Crontab ์„ค์ • ์ดํ›„ ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ  ์ฆ๊ฐ€ ํ˜„์ƒ ๋ฐ Permission Denied ์—๋Ÿฌ ํ•ด๊ฒฐ (sendmail, postfix, postdrop)

2022. 7. 13. 10:11ใ†TIL/Linux

โ˜„๏ธ ๋ฌธ์ œ

crontab ์„ค์ • ์ดํ›„ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ , Disk I/O, Disk ์‚ฌ์šฉ๋ฅ ์ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜์˜€๋‹ค.

Memory utilization(%)
Disk I/O
Disk Utilization(%)

 

๐ŸŒŽ ํ™˜๊ฒฝ

  • AWS EC2
    • OS: Amazon Linux

 

๐Ÿ” ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•ด๋ณด์ž.

1. ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ  ํ™•์ธ

top > shift + m

(ps -ef —sort -rss๋กœ๋„ ํ™•์ธ ๊ฐ€๋Šฅ)

memory ์‚ฌ์šฉ๋ฅ ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

top > shift+m์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ์ด ๋†’์€ ์ˆœ์œผ๋กœ ํ”„๋กœ์„ธ์Šค ์ถœ๋ ฅ

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋†’๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์œ„ ํ”„๋กœ์„ธ์Šค์˜ ์‚ฌ์šฉ๋ฅ ์€ ๊ธฐ์กด์— ์„œ๋น„์Šค๋˜๊ณ  ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค์˜€์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ๋„ ํ‰์†Œ์ฒ˜๋Ÿผ ์ •์ƒ์ ์ด์—ˆ๋‹ค.

๋‹ค๋งŒ, ์œ„์™€ ๊ฐ™์ด ํŠน์ • ๊ณ„์ •์—์„œ sendmail๊ณผ postdrop์ด ๋น„์ •์ƒ์ ์œผ๋กœ ๋งŽ์ด ์‹คํ–‰๋˜๊ณ  ์žˆ์—ˆ๋‹ค.

ps -ef | grep sendmail

ps -ef | grep postdrop

2. /var/log์—์„œ ๊ด€๋ จ ๋กœ๊ทธ ํ™•์ธ

2-1. ๋กœ๊ทธ ํŒŒ์ผ ํฌ๊ธฐ ํ™•์ธ

cd /var/log
ll | grep messages
ll | grep maillog

/var/log/messages ํŒŒ์ผ๊ณผ /var/log/maillog ํŒŒ์ผ๊ณผ ๋ฌธ์ œ ๋ฐœ์ƒ ํ›„ ์ƒ์„ฑ๋œ messages ํŒŒ์ผ(ex: /var/log/messages-20220710) ๋ฐ maillog ํŒŒ์ผ(ex: /var/log/maillog-20220710)์˜ ํฌ๊ธฐ๊ฐ€ ๊ธฐ์กด๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋น„์ •์ƒ์ ์œผ๋กœ ํฌ๋‹ค.

2-2. ๋กœ๊ทธ ํŒŒ์ผ ๋‚ด์šฉ ํ™•์ธ

cat /var/log/messages | tail -50
cat /var/log/maillog | tail -50

/var/log์—์„œ ๊ด€๋ จ ๋กœ๊ทธ ํŒŒ์ผ ํ™•์ธ

 

crond: postdrop: warning: mail_queue_enter: create file maildrop/xxxxxx.xxxxx: Permission denied
postfix/postdrop[xxxx]: warning: mail_queue_enter: create file maildrop/xxxxxx.xxxx: Permission denied

/var/log/messages์™€ /var/log/maillog์— postdrop์˜ permission ๊ด€๋ จ ๋ฉ”์‹œ์ง€๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ๊ธฐ๋ก๋˜๊ณ  ์žˆ์—ˆ๋‹ค.

crontab ์„ค์ • ์ดํ›„ ๋ฉ”์ผ ๋ฐœ์†ก์—์„œ ๋ฐœ์ƒํ•œ ๊ถŒํ•œ ๊ด€๋ จ ๋ฌธ์ œ๋กœ ์ถ”์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

⇒ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ์ด ๋†’์•„์ง„ ์›์ธ : sendmail, postdrop ํ”„๋กœ์„ธ์Šค ๊ณผ๋‹ค ์‹คํ–‰
⇒ Disk I/O ๋ฐ Disk ์‚ฌ์šฉ๋Ÿ‰์ด ๋†’์•„์ง„ ์›์ธ : postdrop ๊ด€๋ จ ๋กœ๊น…

 


 

 

๐Ÿ”ซ Trouble Shooting

1. ๊ถŒํ•œ ๋ณ€๊ฒฝ

# postfix์˜ ์ตœ์ดˆ ์†Œ์œ ๊ถŒ์œผ๋กœ ๋ณ€๊ฒฝ
rpm --setugids postfix

# postfix์˜ ์ตœ์ดˆ ํผ๋ฏธ์…˜์œผ๋กœ ๋ณ€๊ฒฝ
rpm --setperms postfix

# postfix ์„œ๋น„์Šค ์žฌ์‹œ์ž‘
systemctl restart postifx

postfix ๊ถŒํ•œ ๋ณ€๊ฒฝ์œผ๋กœ sticky bit ์ถ”๊ฐ€

2. postdrop ํ”„๋กœ์„ธ์Šค kill

killall postdrop

3. error message ์‚ญ์ œ

vim /var/log/messages    #dG ์ž…๋ ฅํ•˜์—ฌ ๋‚ด์šฉ ์‚ญ์ œ
vim /var/log/maillog   #dG ์ž…๋ ฅํ•˜์—ฌ ๋‚ด์šฉ ์‚ญ์ œ

# rsyslog.service ์žฌ์‹œ์ž‘
systemctl restart rsyslog.service
systemctl status rsyslog.service

์ถ”๊ฐ€๋กœ, /var/log/messages-{๋‚ ์งœ}, /var/log/maillog-{๋‚ ์งœ} ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ๋น„์ •์ƒ์ ์œผ๋กœ ํฐ ๊ฒฝ์šฐ ํ•ด๋‹น ํŒŒ์ผ๋„ ์‚ญ์ œํ•œ๋‹ค.

rm -rf /var/log/messages-{๋‚ ์งœ}
rm -rf /var/log/maillog-{๋‚ ์งœ}

 

4. (์„ ํƒ) ๋ชจ๋“  crond ์ž‘์—…์— ๋Œ€ํ•ด ๋ฉ”์ผ ๋ฐœ์†ก ๋น„ํ™œ์„ฑํ™”

vi /etc/crontab
MAILTO=""   # MAILTO=root(default๊ฐ’)๋ฅผ ๋นˆ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ

vi /etc/sysconfig/crond
CRONDARGS="-m off"

# crond ์žฌ์‹œ์ž‘
systemctl restart crond
systemctl status crond

crontab์˜ ์˜ˆ์•ฝ๋œ ์ž‘์—…์€ ์‹คํ–‰ ํ›„์— ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด mail์„ ๋ฐœ์†กํ•œ๋‹ค.

  • MAILTO ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ : cron ์ž‘์—…์˜ ์†Œ์œ ์ž์—๊ฒŒ ๋ฉ”์ผ ์ „์†ก.
  • MAILTO=root : root์—๊ฒŒ ๋ฉ”์ผ ์ „์†ก. (์ง€์ •ํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ์— ๋ฉ”์ผ ์ „์†ก)
  • MAILTO=”” : ๋ฉ”์ผ ์ „์†กํ•˜์ง€ ์•Š์Œ.

 

 

 


๐Ÿ’ก SendMail & Postfix

์ฐธ๊ณ  ์‚ฌ์ดํŠธ: Is Postfix the same thing as Sendmail?

  • ๋ชจ๋‘ mail transfer agent.
  • Sendmail is a different (and much older) program from Postfix. However for every mail server to succeed in the Unix environment, a sendmail binary (with some of the expected command line options) must be provided.
  • Architecture: The most common difference between these two is architecture. Postfix has a modular architecture composed of many independent small executables. It provides multiple options, parameters, and features. In contrast, Sendmail has a monolithic design that uses a single process always running at the backend.
  • postdrop์€ postfix์˜ mail posting utility์ด๋‹ค.

 

 

 

๐Ÿ”— ์ฐธ๊ณ  ๋งํฌ

  1. ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ: Postfix vs. Sendmail
  2. ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ: [EC2] /var/log/messages์™€ /var/log/maillog์— postdrop ์—๋Ÿฌ๋ฉ”์„ธ์ง€๊ฐ€ ๋Œ€๋Ÿ‰์œผ๋กœ ๋ฐœ์ƒ์ด ๋ฉ๋‹ˆ๋‹ค.
  3. ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ: crond, crontab ์‹คํ–‰ ํ›„ mail ๋ฐœ์†ก ์„ค์ • ๊ธˆ์ง€
  4. ๊ธฐ์ˆ  ๋ฌธ์„œ: cron ์ž‘์—…์ด ์‹คํŒจํ–ˆ์„๋•Œ๋งŒ ์ด๋ฉ”์ผ ์ „์†กํ•˜๊ธฐ
  5. ๊ธฐ์ˆ  ์‚ฌ์ดํŠธ: Is Postfix the same thing as Sendmail?
  6. Linux ๋ฌธ์„œ: postdrop(1) - Linux man page