syslog日志截断的问题

本文可自由转载,但请遵循“署名-非商业用途-保持一致”的创作共用协议。 永久链接:JoeCen's 小猫窝
-----------------------------

举个例子,一天我们看到crontab的日志大小居然为零,于是运行"crontab -l"命令一下,如果是正常的话,即使该用户并无crontab记录,也会记录一条LIST信息到crontab日志中。

如果这时候发现crontab日志的大小还是零的话,说明syslog没有记录日志到crontab日志文件中。我们可以用:

#logger -p kern.info "test from system"

命令来产生一条测试信息。我们发现kern 日志中有显示这条测试信息,那么syslog进程应该是没有问题的。

crontab文件大小为零的原因是crontab log文件被改名或移动了。syslog进程还是会将log记录到改名或移动后的文件。因为syslog是附属于开放文件描述符程序,它会将log写入同一个文件描述符的文件中,直到文件描述符关闭为止。既然如此,我们只要将文件描述符关闭就可以了:

kill -SIGHUP $(cat /var/run/syslogd.pid)

该命令告诉syslog关闭并再次打开文件,解决日志的问题。

另外logrotate之类的命令应该已经会自动fix这个问题。

随机日志

  • intel pro 1000(e1000)网卡”设备名称“自动更换之谜
  • 东瀛见闻录1-关于phiten
  • FreeBSD 的watch命令
  • 对google,只能说好啦!
  • facebook
  • One Response to “syslog日志截断的问题”

    1. dave Says:

      难道website不填写就不能成功提交?

    Leave a Reply