2014-07-07 117 views
0

在UNIX系统上,一切都是文件;如果某件事不是文件,那是一个过程。 这是linux文件系统的优点,但这里有个问题!如何在lnux系统中检测文件更改或删除

如何检测用户或程序是否创建或更改或删除了文件?

我尝试用inotify的做到这一点,但不与内核版本3.4的OpenWrt分布

感谢

回答

1

您是否尝试过的stat命令?如果你不能使用inotify,那么你可能不能使用inotifywait,因为它使用inotify接口。

您可以直接从输出中获取有关文件创建和修改的信息。

无法直接访问被删除的部分(当用户或程序删除文件时)。 Unix提供atime,mtime和ctime时间戳。

Atime是最后一次访问内容的时间。 Ctime是inode的最后修改时间 - 元数据。 Mtime是内容最后修改的时间。

所以不能删除时间可以直接接受。您可以通过文件所在目录的时间戳来检查文件是否被删除。

+0

它可以实时检测文件的变化吗?这意味着如果文件被修改,它发送信号给脚本通过改变来通知它? –

+0

@Anis_Stack有没有简单的方法,你可以得到通知。你可以编写一些我认为会执行stat命令的脚本,并使用一些reg exps来获取修改的时间 – sestus

相关问题