nginx日志切分与文件inode

nginx一般需要我们写一个脚本定时去切分日志。切分日志的操作,实际上只有两步,就是重命名日志文件,然后让nginx重新打开日志文件。

这实际上是利用了文件名字和inode分开存储的特点。inode里面存储了文件的元信息,他有一个号码。inode号码和文件名的对应关系存储在文件所在的目录里面(目录实际上也是一个文件,专门存他们的对应关系)。这种分离存储,使得打开一个文件时,系统只用inode号码来识别这个文件,不考虑文件名了。

所以你重命名日志文件,nginx不受影响,依旧往那个文件里写日志。当你向nginx发送重新打开日志文件的信号时,他才会创建新的日志文件并使用新的inode。


你可能感兴趣的:(nginx日志切分与文件inode)