温馨提示×

如何用CentOS readdir监控目录变化

小樊
51
2025-08-30 22:27:50
栏目: 智能运维

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

首先,确保你已经安装了 inotify-tools。如果没有,请使用以下命令安装:

sudo yum install inotify-tools

接下来,你可以使用 inotifywait 命令来监控目录变化。以下是一个简单的示例:

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

这个命令会监控 /path/to/directory 目录及其子目录的变化。参数解释如下:

  • -m:监控模式,持续监控直到手动停止。
  • -r:递归监控子目录。
  • -e:指定要监控的事件,这里我们监控创建(create)、删除(delete)和修改(modify)事件。
  • --format:自定义输出格式,这里我们显示发生变化的文件路径(%w%f)和事件类型(%e)。

你可以根据需要修改这些参数以满足你的需求。如果你想要在检测到变化时执行某个命令,可以使用 && 将命令与 inotifywait 结合起来,例如:

inotifywait -m -r -e create,delete,modify --format '%w%f %e' /path/to/directory | while read file event
do
  echo "File: $file, Event: $event"
  # 在这里执行你的命令
done

这个示例会在检测到目录变化时输出发生变化的文件路径和事件类型,并执行一个简单的 echo 命令。你可以根据需要替换为你自己的命令。

0