是否可以实时检测文件或文件夹的创建/删除?

是否可以实时检测文件或文件夹的创建/删除?

我想即时监控文件或文件夹的创建/删除,可以吗?

编辑:我正在使用 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 类型。

相关内容