CentOS 6.2,bind 9.7.3,rsyslog 4.6.2
最近我设置了一个服务器,我注意到在日志旋转之后,命名程序已经停止登录到/var/log/messages。我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,而named并不直接写入日志文件。
这甚至更奇怪,因为在更新区域文件之后,我有了HUPed named,而且它仍然没有日志记录。
在我停止并重新启动命名之后,日志记录恢复了。
这里发生了什么事?syslog PID没有更改(/var/run/syAdd.1-d.pid与ps中显示的PID匹配)。当日志旋转日志和HUP时,rsyslog是否打开一个新的套接字?
/etc/logrotate.d/syslog:
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}rsyslogd在旋转之后继续进行日志记录--它只是命名(可能还有其他服务),没有正确地连接到rsyslogd。下面是/var/log/messages-20120212:
Feb 5 04:45:03 linus kernel: imklog 4.6.2, log source = /proc/kmsg started.
Feb 5 04:45:03 linus rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1178" x-info="http://www.rsyslog.com"] (re)start
Feb 9 16:16:29 linus yum[13028]: Installed: 2:vim-minimal-7.2.411-1.6.el6.i686
Feb 12 04:09:22 linus rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1178" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'restart'.
Feb 12 04:09:22 linus kernel: Kernel logging (proc) stopped.而且我只运行rsyAdd.1-d(由于某种原因,它将其PID保存在/var/run/syAdd.1-d.pid中):
root 1178 0.0 0.1 29496 1488 ? Sl Jan29 0:20 /sbin/rsyslogd -i /var/run/syslogd.pid -c 4
root 5960 0.0 0.0 2300 504 pts/0 S+ 17:45 0:00 grep syslog发布于 2012-06-04 14:24:21
我猜你用的是彩色绑定。您必须将这一行添加到rsyslog.conf中:
$AddUnixListenSocket /var/named/chroot/dev/log
确保您使用正确的路径到您的系统上的显色器。
勒夫
发布于 2012-02-15 00:15:24
旋转改变了文件的inode,因此Rsyslog试图添加到旧的inode。若要解决此问题,请更改日志旋转配置以复制当前文件,然后在旋转时截断该文件。
https://serverfault.com/questions/360188
复制相似问题