监视文件夹内容变化

监视文件夹内容变化

我可以使用 tail -f 命令监视文件内容的变化

是否有类似的方式来监控目录结构的变化,就像 tail -f 监控文件一样?

我有一个长时间运行的过程,它将文件添加到目录下的某个路径,并且我想在文件写入目录和子目录时跟踪文件传入情况。

答案1

inotify内核系统就是您所需要的。

  1. 安装inotify-tools

    sudo apt-get install inotify-tools
    
  2. 设置监视:

    inotifywait /path/to/directory --recursive --monitor
    
  3. 坐下来观看输出。


man inotifywait

-m, --monitor
   Instead of exiting  after  receiving  a  single  event,  execute
   indefinitely.   The default behaviour is to exit after the first
   event occurs.
-r, --recursive
   Watch all subdirectories of any directories passed as arguments.
   Watches will be set up recursively to an unlimited depth.   Sym‐
   bolic  links  are  not  traversed.  Newly created subdirectories
   will also be watched.

您可以使用该--event选项来监视特定事件,例如创建、修改等。

答案2

--events不是过滤器,您必须使用--event。例如,这是用于监视创建/修改事件的命令行:

# inotifywait . --recursive --monitor --event CREATE --event MODIFY

然后我看到:

Setting up watches.  Beware: since -r was given, this may take a while!

以下是 feed 的格式:

[path] [event] [file]

例如

./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal

相关内容