1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年4月16日 |
---|
#8 在 #logrotate
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