我正在开发嵌入式 Linux 映像。我目前有一个udev
规则来监视 USB 连接/分离事件。如果连接了 USB,则会运行脚本以在设备中搜索upgrade.sh
脚本。
我现在想扩展它以监视系统上的文件夹。如果将文件添加到此文件夹,我想运行一个 shell 脚本。
我不确定从哪里开始,这是另一条udev
规则吗?
我正在开发嵌入式 Linux 映像。我目前有一个udev
规则来监视 USB 连接/分离事件。如果连接了 USB,则会运行脚本以在设备中搜索upgrade.sh
脚本。
我现在想扩展它以监视系统上的文件夹。如果将文件添加到此文件夹,我想运行一个 shell 脚本。
我不确定从哪里开始,这是另一条udev
规则吗?
您要设置的是一个systemd
path
单元和一个关联的服务。这两个单元文件可能如下所示:路径规范
watch-folder.path
。在此示例中,我们使用该PathChanged
指令检查是否已完成对路径的任何写操作(如果需要,您也可以使用它来监视特定文件)。将调用您的脚本的服务需要具有相同的名称(扩展名除外):
watch-folder.service
请注意,shell 脚本不会接收任何参数,因此它需要自己知道受监视文件夹的路径(硬编码)。
将文件复制到适当的目录(例如
/etc/systemd/system
)并启用路径(不是服务!)通过然后,通过