1 个不稳定版本

使用旧的Rust 2015

0.1.0 2018年4月16日

#8#logrotate

BSD-3-Clause

12KB
275 代码行(不含注释)

logrustate

使用inotify基于事件驱动的logrotate重新实现

使用方法

只需使用以下调用将logrustate指向您的日志

logrustate -f ONE_LOG_FILE -f ANOTHER_LOG_FILE -f AND_ANOTHER -s SIZE_OF_PRESERVED_LOGS -n NUMBER_OF_OLD_LOGS

两点重要说明

  • 日志被映射到进程的地址空间,并从顶部取走大小为 SIZE_OF_PRESERVED_LOGS 的数据块,剩余数据使用 fallocate 推送到文件的开头。这绝对需要以 O_APPEND 打开的日志文件,否则将会有未定义的行为和潜在的数据丢失。这通常是打开日志的方式,但在使用此工具之前,请确保您正在使用此选项打开日志文件。
  • 由于 fallocate 系统调用的限制,日志大小必须是4096的倍数。

依赖项

~2–10MB
~86K SLoC