这里是普通文章模块栏目内容页
sendmail和主机名
系统环境:rhel as 4 update 4 今天在查看服务器的logwatch邮件时,发现有的/var/分区磁盘空间占用有点多,感觉应该是有不正常的日志产生了。
登录系统,查看/var/spool/mail/,果然邮件文件比较大。
1. 首先知道要优化监控脚本了,这个事情一直想做,可是老是没时间(有优先级更高的任务啊```) 。
于是把脚本中没用的输出到重定向到 /dev/null ,一般我们是这么写的,比如apache的关闭信息:

apachectl stop > /dev/null 2>&1
这样就不会产生烦人的邮件了。 2. 有些日志邮件是比较怪的,比如:

From MAILER-DAEMON@mob2  Mon Apr 30 17:25:57 2007
Date: Thu, 26 Apr 2007 09:26:42 +0800
From: Mail Delivery Subsystem <MAILER-DAEMON@mob2>
To: <squid@mob2>
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
        boundary="l3Q1QdbT009121.1177550802/localhost.localdomain"
Subject: Warning: could not send message for past 4 hours
Auto-Submitted: auto-generated (warning-timeout)
This is a MIME-encapsulated message
--l3Q1QdbT009121.1177550802/localhost.localdomain
    **********************************************
    **      THIS IS A WARNING MESSAGE ONLY      **
    **  YOU DO NOT NEED TO RESEND YOUR MESSAGE  **
    **********************************************
The original message was received at Thu, 26 Apr 2007 05:01:01 +0800
from localhost.localdomain [127.0.0.1]
   ----- Transcript of session follows -----
<squid@mob2>... Deferred: Connection refused by mob2.localdomain.
Warning: message still undelivered after 4 hours
Will keep trying until message is 5 days old

连接被拒绝了。但这是本地传送,有什么好拒绝的?
再看这个主机名(mob2.localdomain)比较奇怪,查看一下:
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=mob2
GATEWAY=192.168.4.1
# hostname --long
mob2
没这么配置主机名啊```` 之前查看各个服务器的Logwatch邮件的时候,有那么一两台主机的logwatch邮件标题就是“LogWatch for name.localdomain”的格式,而不像其他的大部分都是“LogWatch for name”,当时就感觉奇怪,因为系统安装时设置都是一样的格式,没有用FQDN格式的长主机名,但为何有的显示name,有的显示name.localdomain呢?还待研究````
而且/var/spool/mail 下的邮件文件在阅读后,都变的很小了,但/var/分区还是占用较大,du一把:

[root@mob2 var]# du -sh ./*
...
344M     ./spool
...
随手ls一个文件夹:/var/spool/mqueue ,竟然翻了不知多少屏的文件,看名字,这应该是sendmail的邮件队列文件夹。mailq一把:
# mailq |less
l3TCx1Me027333      110 Sun Apr 29 20:59 <nemo@mob2>
                 (Deferred: Connection refused by mob2.localdomain.)
                                         <nemo@mob2>
发现都是这种被拒绝连接的队列````汗```` 感觉原因是不是找不到这个mob2.localdomain主机名呢?修改一下/etc/hosts试试:

# vi /etc/hosts
127.0.0.1               localhost.localdomain localhost mob2.localdomain
192.168.4.148           mob2
重启一下sendmail服务,过了一会,显示nemo用户收到新邮件,查看一把,真是N多啊```看来邮件队列总算被发出去了。