我想即时监控文件或文件夹的创建/删除,可以吗?
编辑:我正在使用 Ubuntu 16.04
答案1
在 Linux 中使用该接口是可能的inotify(7)
。
使用该工具的简单示例命令行工具是inotifywait(1)
.例子:
inotifywait -mr /tmp
将打印目录内发生的所有类型的事件(文件打开、创建)/tmp
。该-r
选项告诉它在子目录上递归地设置监视,并且-m
选项告诉它在第一个事件后不退出。
可以使用以下选项限制观看的事件集-e
:例如。-e create,delete
仅打印有关创建或删除的目录条目的信息。
答案2
最简单的(对我来说)方法是使用审计守护进程(手册页)安装后。您可以/var/run
通过启动守护进程并添加要审核的目录来监视目录中的文件操作:
auditctl -w /var/run/ -p rw -k var-run-pids
使用此命令,您可以检查写入大部分信息的守护进程日志:
tail -20 /var/log/audit/audit.log
使用此命令,您可以在审核日志中搜索特定事件:
ausearch -f /var/run
您可以这样发送消息(从auditctl 的手册页):
-m text
向审计系统发送用户空间消息。这只有在您有能力的情况下才能完成
CAP_AUDIT_WRITE
(通常 root 用户有此能力)。结果事件将是 USER 类型。