linux

如何用inotify监控目录

小樊
39
2025-06-21 07:57:44
栏目: 编程语言

inotify 是 Linux 系统中的一个功能,用于监控文件系统事件

  1. 安装 inotify-tools:

对于基于 Debian 的系统(如 Ubuntu),使用以下命令安装:

sudo apt-get install inotify-tools

对于基于 RHEL 的系统(如 CentOS),使用以下命令安装:

sudo yum install inotify-tools
  1. 使用 inotifywait 命令监控目录:

inotifywait 命令允许您实时监控目录中的文件系统事件。以下是一些基本用法示例:

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

您还可以使用 -r 选项递归监控子目录中的事件。

  1. 将 inotify 与脚本结合:

您可以将 inotifywait 命令与其他命令或脚本结合使用,以便在检测到特定事件时执行操作。例如,以下脚本将在检测到新文件创建时将其移动到另一个目录:

#!/bin/bash

SOURCE_DIR="/path/to/source/directory"
TARGET_DIR="/path/to/target/directory"

inotifywait -m -e create --format '%w%f' "${SOURCE_DIR}" | while read FILE
do
    mv "$FILE" "${TARGET_DIR}"
done

将此脚本保存为 monitor.sh,并使用 chmod +x monitor.sh 使其可执行。然后运行脚本以开始监控目录。

这只是一个简单的示例,您可以根据需要修改脚本以满足您的需求。

0
看了该问题的人还看了