循环登录linux

Rfr*_*ile 6 linux logs rsyslog

在 FreeBSD 中有一个实用程序来支持循环日志文件,称为clog

这对于避免维护某些服务(在 systemd 和它们的 journald 之外)的日志非常有趣。

在 linux 和/或 rsyslog 中是否有其他方法可以做同样的事情?

Jde*_*eBP 7

有工具做很多相同的两个FreeBSD的Linux和除此之外其它的操作系统。

制作自动旋转的严格限制大小的日志

以下工具在指定的目录中维护严格限制大小、自动轮换、按需轮换的日志文件集。

用法非常简单:通过管道将待记录进程的标准输出和标准错误发送到其标准输入,以正常方式:

./要记录的东西 2>&1 | 循环日志/

cyclog将 TAI64N 时间戳添加到行中作为标准。对于已加时间戳的无时间戳处理,请使用multilogs s6-log、 或svlogd之一,其中时间戳添加是非默认选项。

替代系统日志

您指的是修改 FreeBSDsyslog本身,使用 2001 年的补丁,现在可能无法完全应用,以具有另一种输出文件机制。

另一种方法是简单地完全替换 syslog 守护程序,同时配置更多服务以简单地记录到标准错误(在服务管理下将标准错误传送到日志记录服务),而不是首先使用 syslog。

例如: nosh 工具集提供了几个这样的替代品,它们拆分 syslog 的工作并生成适合通过上述日志工具之一的标准输入提供的输出:

  • klogd运行一个简单程序的服务,该程序名为klog-read读取/proc/kmsg日志流并将其简单地写入其标准错误。
  • 一个local-syslog-read运行一个名为节目服务syslog-read来读取数据报/dev/log/run/log在BSD系统),并简单地写日志流到其标准错误。
  • 一个udp-syslog-read运行上述服务syslog-read程序,监听UDP日志端口上简单地写日志流到其标准错误。
  • 一个local-priv-syslog-read运行上述服务syslog-read程序来读取数据包/run/logpriv,并简单地写日志流到其标准错误。

进一步阅读