检测日志文件的旋转和压缩-Node js

时间:2018-08-20 20:34:38

标签: node.js unix logging filesystems log-rotation

我目前正在尝试在linux中检测文件旋转,但是在旋转过程中只要有压缩,文件压缩都会更改它的Inode,而我在使用它来检测旋转时,我的程序就无法对其进行跟踪。 我还注意到,如果在最后一个文件之前旋转压缩文件并删除最后一个文件,压缩文件将获取已删除文件的索引节点。

示例:

file.1 (inode 1)
file.2.gz (inode 2)

旋转后

file.1 (inode 3)
file.2.gz (inode 2) --. this file used to be file.1 and got rotated but also inherited the inode of the previous file which got deleted

我正在使用此bash脚本模拟旋转

gzip ../auth.log.1
mv ../auth.log.1.gz ../auth.log.2.gz
mv ../auth.log ../auth.log.1
touch ../auth.log

所以我的问题是如何使用Node.js和fs库检测日志的旋转压缩。

在我当前的解决方案(有效)中,必须将系统配置为至少设置2个文件,然后再压缩它们

file.1
file.2
file.3.gz
file.4.gz

但是我不想强迫用户使用此最小配置以使其正常工作

预先感谢

0 个答案:

没有答案