我有多个日志文件abc-log
、abc-log.1
、 并由实用程序abc-log.2
轮换logrotate
。在这些轮换的日志文件中,哪个日志文件包含最近的日志?是abc-log
还是abc-log.1
?
答案1
abc-log
将包含当前传入的日志数据;abc-log.1
将是可以安全删除或压缩的最新文件。 (您还可以查看文件的时间戳来仔细检查。)
当然,这是假设您不使用直接记录到 abc-log.1 的软件,但我猜这将是近乎恶意的违反约定的行为。
我应该指出,轮换日志需要程序能够重新打开其日志文件(因此logrotate
可以重命名旧日志文件,程序将记录到新日志文件),copytruncate
配置选项上的文档可能会有所帮助:
复制截断
创建副本后就地截断原始日志文件,而不是移动旧日志文件并选择创建新日志文件。当某些程序无法被告知关闭其日志文件并因此可能继续永远写入(追加)到前一个日志文件时,可以使用它。请注意,复制文件和截断文件之间的时间片非常短,因此可能会丢失一些日志记录数据。使用此选项时,创建选项将不起作用,因为旧日志文件保留在原处。