ls -l用几分钟的旧时间戳记(修改时间)不断更新日志文件

我给了命令ls -lt来查看哪些日志文件不断被写入,因为如果它们被写入,修改的时间将几乎非常接近date命令的输出。

但奇怪的是, ls命令输出中的修改时间对于正在被连续修改(写入)的所有日志文件来说显示为12分钟。 例如,如果我给的命令

date ; echo ; ls -lt *log 

如果得到date的输出为Sun Jan 19 16:48:16 IST 2014 ,那么在命令给出时正在写入的ls -lt * log命令的输出将显示文件详细信息为:

 -rw-r--r-- 1 root 12014 6.2M Jan 19 16:36 Imap.log 

现在这里的文件Imap.log不断被写入,所以修改的时间也应该非常接近16:48 ,但是可以看出,它只是16:36 。 一个完整的12分钟的差异。

date命令的输出是正确的。 我尝试使用简单的ls -lstat文件名来查看那里的详细信息,甚至stat命令显示修改时间戳是12分钟。

正在写入日志文件的分区安装在NFS上。 这是罪魁祸首吗? 我需要检查什么?

操作系统是CentOS 5.4。 内核是2.6.18-164.el5。

检查NFS安装选项。 actimeo选项可以在几秒钟内定义文件属性caching,在您的情况下可能configuration为几分钟。 这通常由系统pipe理员完成,以最大限度地减less从客户端到服务器的NFS调用数量,以获取文件的元数据。