Linux 中如何使用 inotify-tools 监控目录变化?

 125     |      2025-03-06 21:35:28

当 Linux 系统目录中有新文件创建时执行命令,可以通过组合使用工具和脚本实现监控。一种常见的方法是使用 inotify-tools,这是一个允许您监视文件系统事件的实用程序,与 shell 脚本一起使用。

首先,你需要安装 inotify-tools,通常可以使用包管理器安装它。

接下来,创建一个 shell 脚本,该脚本使用 inotifywait 来监视目录中是否有新文件,然后在检测到新文件时调用 API,下面是这个脚本的简单示例:

在此脚本中,将 “/path/to/your/directory” 替换为你想监控的目录,将“http://your.api.endpoint”替换为你的上传 API 地址,您也可以修改 CUSTOM_COMMAND 包括其它数据或参数选项。

修改文件权限,让其可以执行

执行脚本

如果您希望这个脚本在后台连续运行,您可以使用 nohup 或 tmux 会话中运行它。

For example:

确保您的脚本已正确编写和测试。将其放在合适的目录,例如: /usr/local/bin/

确保它是可执行的

创建一个新的 systemd 服务文件

将以下内容添加到文件中

保存并关闭该文件,重新加载 systemd 管理器配置

设置开机启动

启动服务

检查服务状态