Gen*_*neQ 17 scripting linux inotify
我想在新文件复制到特定目录时自动运行脚本。换句话说,在 Linux 中有没有办法“观察”一个目录的变化,然后运行一些东西来响应变化?
Mik*_*eyB 17
如果你有幸使用基于 debian 的发行版,apt-get install dnotify. 其他发行版可能有类似的东西 - 查找dnotify名称。
dnotify 是一个基于 Linux 内核 2.4.19+ 的 dnotify API 的简单程序。dnotify 可以在每次特定目录的内容发生变化时执行指定的命令。它从命令行运行并接受两个参数:一个或多个要监视的目录和一个在目录更改时执行的命令。选项控制要触发的事件:在目录中读取文件的时间、创建、删除文件的时间等。
如果你想在你自己的程序中处理这个,dnotify 也是你想使用的 API。
小智 12
您可以使用 inotify-tools 运行脚本,类似这样。它将监视目录中已修改文件、新文件和已删除文件的更改,然后执行脚本。
#!/bin/sh
while inotifywait -e modify -e create -e delete /home/me/code; do
rsync [options] /home/me/code/ /media/nfs/code/
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25391 次 |
| 最近记录: |