最近,我在我的一台服务器上的 /var/log/messages 中看到了很多垃圾。似乎没有任何相关的 I/O 错误,并且服务器仍在执行其预期任务而没有任何问题,但我想知道这是否表明我可能担心的某种其他故障。
垃圾字符如下所示:
SF??)?mq??JX??_?cS=??4?v???A?X~??Tk???$+]?k?"?MG T???\u?R ????V ??m????E??? ?9?C???YK ??V?5. ? ???*D???[ YHwp?@I?? ~??? ???mof G?F_vM'?b9??-31/?ˮ?(?q`?%1?h?/???a?H?+-?U0???yٹ h?^m[? ?uC?/R??S??5٣???\??L?pkr =v ?'?|?b?&?{ 5?)h?5?P_?q?;?G?? ?? ?hZU ???2??J?????iD???-?=??#
我会首先寻找其他地方以避免 fsck 和停机时间。
通常,写入 /var/log/messages 的唯一内容是 Syslog 守护程序。您可以使用 'lsof' 验证这一点:
您应该只会看到一个命令写入此文件。如果您看到不止一个,那么可能是您的问题的根源。
如果此信息来自 syslog 服务,则每行前面都会有时间戳、主机名和写入日志的程序的名称。诸如“Mar 4 00:12:42 myhost kernel:”之类的内容,然后是其他信息。
如果没有这样的格式,那么这个垃圾没有通过 Syslog,还有其他东西正在向 /var/log/messages 写入垃圾。如果您关闭 syslog,您应该能够跟踪它,然后使用 lsof 或 fuser 查找打开的文件。
或者,正如其他人所说,系统日志有问题,需要重新启动。
尝试追踪这些东西的来源。如果它被某些东西记录(因此具有 syslog 添加的正常标头),那么该程序可能有问题。另一方面,如果系统日志正在写出那些东西而不是你所期望的,我会担心的。中的任何错误
dmesg
?段错误?你最近做过memtest吗?检查您的分区是否重叠,然后在 /var 或 /var/log 文件系统上运行 fsck(您确实有 /var 和/或 /var/log 文件系统,不是吗?)
这是进入系统日志的全部内容,还是分散在“正常”条目中?我会尝试关闭日志守护程序,移动系统日志文件,再次启动它,看看它是否仍然存在。如果是这样,请安排 fsck 并重新启动。
您确实有最新的备份,对吗?现在采取一个可能会冒险备份损坏的数据......