我有一个使用 rsyslog 进行日志记录的系统。我想将一些正在记录的消息存储在设备上(错误消息),以便在出现问题时我可以稍后查看它们。一切都很好,问题是设备没有实时时钟(RTC),所以每次我重新启动设备时,rsyslog 时间戳都会再次从 0 开始。这显然会导致问题,我无法辨别两个日志是否紧邻发生,或者较早的日志是否发生在一周前,而新的日志是否仅在重新启动后发生。
error_logfile [real time]
0:06:01 error message [0:06:01]
0:06:55 error message [0:06:55]
0:10:22 error message [192:10:22]
有没有办法让 rsyslog 为每次启动创建一个新的日志文件?我想我可以使用动态名称来做到这一点,但同样没有 RTC,所以我不能使用时间戳作为名称。我可以使用一些文件编号系统吗?我确实将设备的启动计数存储在寄存器中,因此如果可能的话我想使用它,但我不确定如何创建一个自定义属性来从某些运行并返回启动计数的应用程序中检索它的值
error_logfile1
0:06:01 error message
0:06:55 error message
error_logfile2
0:10:22 error message
error_logfile...
...
$boots = ./bootC
error_logfile_boot1045
0:06:01 error message
0:06:55 error message
error_logfile_boot1047
0:10:22 error message
error_logfile_boot...
...
或者有什么方法可以将“标题”日志条目插入日志文件中,以便我可以区分启动?也许有某种方法可以在生成消息并将其定向到该文件时运行一次脚本?我想每次运行它也很好,只需附加或添加到日志模板中,如果可能的话?
error_logfile
---BOOT#1043---
0:06:01 error message
0:06:55 error message
---BOOT#1045---
0:10:22 error message