温馨提示×

Ubuntu中inotify如何实现文件监控

小樊
50
2025-08-11 19:37:01
栏目: 智能运维

在Ubuntu中,inotify是一个Linux内核子系统,用于监控文件系统事件

  1. 安装inotify-tools:

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

sudo apt-get update
sudo apt-get install inotify-tools
  1. 使用inotifywait监控文件或目录:

inotifywait是inotify-tools中的一个实用程序,用于监视文件系统事件。要使用inotifywait,请打开终端并运行以下命令:

inotifywait -m /path/to/directory -e create,delete,modify,move

/path/to/directory替换为您要监视的目录的路径。您还可以根据需要添加其他事件,例如attrib(属性更改)和close_write(关闭写入)。

-m选项表示监视模式,它使inotifywait持续运行并监视指定的事件。-e选项用于指定要监视的事件。

  1. 解析inotifywait输出:

inotifywait将以以下格式输出事件:

/path/to/directory CREATE file.txt
/path/to/directory MODIFY file.txt
/path/to/directory DELETE file.txt

您可以使用脚本(如Python、Bash等)解析这些输出并根据需要执行操作。

例如,以下是一个简单的Bash脚本,用于监视目录并在创建新文件时打印消息:

#!/bin/bash

DIRECTORY="/path/to/directory"

inotifywait -m "$DIRECTORY" -e create |
while read path action file; do
  echo "File '$file' was $action in '$path'"
done

/path/to/directory替换为您要监视的目录的路径,然后运行脚本:

chmod +x monitor.sh
./monitor.sh

现在,每当在指定目录中创建新文件时,脚本都会打印一条消息。

这就是在Ubuntu中使用inotify实现文件监控的方法。您可以根据需要调整选项和脚本以满足您的需求。

0