温馨提示×

CentOS readdir如何进行目录监控

小樊
46
2025-11-20 01:48:53
栏目: 智能运维

在 CentOS 系统中,你可以使用 inotifywait 工具来监控目录的变化。inotifywaitinotify-tools 包的一部分,它提供了一个简单的方法来监控文件系统事件。

首先,你需要安装 inotify-tools。在 CentOS 7 中,可以使用以下命令安装:

sudo yum install inotify-tools

安装完成后,你可以使用 inotifywait 命令来监控目录。以下是一个简单的示例,用于监控名为 /path/to/directory 的目录:

inotifywait -m -r -e create,delete,modify --format '%w%f %e' /path/to/directory

参数说明:

  • -m:监控模式,持续监控目录变化。
  • -r:递归监控子目录。
  • -e:指定要监控的事件,例如 create(创建)、delete(删除)和 modify(修改)。
  • --format:自定义输出格式,这里显示的是发生变化的文件路径和事件类型。
  • /path/to/directory:要监控的目录路径。

运行此命令后,你将看到目录中的变化实时输出到终端。如果你想要在某个事件发生时执行特定的操作,可以使用 shell 脚本或命令来实现。例如,当有新文件被创建时,你可以使用以下命令将新文件移动到另一个目录:

inotifywait -m -r -e create --format '%w%f' /path/to/directory | while read FILE
do
  mv "$FILE" /path/to/target-directory/
done

这个命令会在检测到新文件创建时将其移动到指定的目标目录。

0