似乎 rsyslogd 两天前停止写入我笔记本电脑上的 /var/log/syslog,但我不知道为什么。
从以下情况可以看出:
clh@avignon:/var/log$ ls -lt | head -30
total 12600
drwxr-xr-x 2 root root 4096 Jan 30 09:53 upstart
-rw-r--r-- 1 root root 223836 Jan 30 09:37 dpkg.log
-rw-rw-r-- 1 root utmp 361728 Jan 30 09:20 wtmp
-rw-r--r-- 1 root root 31376 Jan 30 09:19 Xorg.0.log
-rw-r--r-- 1 root root 262055 Jan 30 09:19 pm-powersave.log
drwxr-xr-x 2 root root 4096 Jan 30 09:19 lightdm
-rw-r--r-- 1 root root 3177 Jan 30 09:18 boot.log
-rw-r----- 1 root adm 60332 Jan 30 09:18 dmesg
-rw-r--r-- 1 root root 334169 Jan 30 09:18 udev
-rw-r--r-- 1 root root 32014 Jan 30 09:16 Xorg.0.log.old
-rw-r----- 1 root adm 60381 Jan 30 09:07 dmesg.0
drwxr-xr-x 2 root root 4096 Jan 30 07:54 cups
-rw-r----- 1 messagebus adm 0 Jan 29 06:39 syslog
-rw-r----- 1 root adm 16101 Jan 29 06:30 dmesg.1.gz
-rw-r----- 1 messagebus adm 186869 Jan 28 20:57 kern.log
-rw-r----- 1 messagebus adm 147391 Jan 28 20:57 syslog.1
-rw-r--r-- 1 root root 4524 Jan 28 20:33 alternatives.log
-rw-rw-r-- 1 root utmp 8760000 Jan 28 20:32 lastlog
-rw-r--r-- 1 root root 960000 Jan 28 20:32 faillog
-rw-r----- 1 root adm 16029 Jan 28 14:25 dmesg.2.gz
-rw-r----- 1 messagebus adm 21598 Jan 28 07:31 syslog.2.gz
-rw-r----- 1 root adm 15926 Jan 28 06:59 dmesg.3.gz
-rw-r----- 1 messagebus adm 19983 Jan 27 07:55 syslog.3.gz
syslog.1 的最后几行是:
Jan 28 20:55:30 avignon pulseaudio[7825]: [pulseaudio] pid.c: Daemon already running.
Jan 28 20:55:42 avignon goa[8118]: goa-daemon version 3.6.0 starting [main.c:112, main()]
Jan 28 20:55:46 avignon signond[8250]: signondaemon.cpp 345 init Failed to SUID root. Secure storage will not be available.
Jan 28 20:57:42 avignon gnome-session[7875]: CRITICAL: gsm_manager_set_phase: assertion `GSM_IS_MANAGER (manager)' failed
Jan 28 20:57:42 avignon gnome-session[7875]: Gtk-CRITICAL: gtk_main_quit: assertion `main_loops != NULL' failed
Jan 28 20:57:42 avignon kernel: Kernel logging (proc) stopped.
Jan 28 20:57:42 avignon rsyslogd: [origin software="rsyslogd" swVersion="5.8.6" x-pid="1090" x-info="http://www.rsyslog.com"] exiting on signal 15.
kern.log 的最后几行是:
Jan 28 20:10:44 avignon kernel: [20707.335160] psmouse serio2: Touchpad at isa0060/serio2/input0 lost sync at byte 6
Jan 28 20:10:44 avignon kernel: [20707.369217] psmouse serio2: Touchpad at isa0060/serio2/input0 - driver resynced.
Jan 28 20:57:42 avignon kernel: Kernel logging (proc) stopped.
/etc/rsyslog.d/50-default.conf 的前几行是
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
#user.* -/var/log/user.log
上述配置文件的日期为2012年3月30日。
我能想到的唯一两件事是某个地方的某些更新破坏了我的日志记录,或者可能是因为我正在尝试 Gnome Shell(在日志记录停止的同时启动)以至于我“做了一些事情”。
非常感谢您的帮助!
答案1
据我所见,您的 50-default.conf 文件与默认值匹配,因此这可能不是问题: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/rsyslog/quantal/view/head:/debian/50-default.conf
令人高兴的是,rsyslog 似乎有一个配置检查模式,可以帮助您排除实际发生的问题。从他们的帮助页面:
Rsyslog 3.21.1 及更高版本已增强,支持扩展配置检查。它提供了一个特殊的命令行开关 (-N1),可将其置于“配置验证模式”。在该模式下,它会解释并检查配置文件,但不会启动。此模式可与正在运行的 rsyslogd 实例并行使用。
要启用它,请按如下方式交互运行 rsyslog:
/路径/到/rsyslogd -f /路径/到/配置文件 -N1
您还应该指定您通常提供的其他选项(如 -c3 和其他任何选项)。遇到的任何问题都会报告给 stderr [也称为“您的屏幕”(如果没有重定向)]。
答案2
如上所述,解决方案是在 /etc/rsyslog.d/50-default.conf 文件中注释掉与 /dev/xconsole 相关的行。
以下是相关帖子以及他们如何解决问题:http://www.linuxquestions.org/questions/linux-general-1/log-files-are-empty-messages-syslog-mail-err-930916/
答案3
也许您可以检查 /etc/rsyslog.d/ 中一些配置错误的 *.conf。例如:
:msg, contains, 'xxxxx' /var/log/x.log
改成
:msg, contains "xxxxx" /var/log/x.log
这就是发生在我身上的事情。