温馨提示×

Ubuntu inotify如何检测文件删除操作

小樊
37
2025-12-10 18:06:50
栏目: 智能运维

在Ubuntu中,inotify是一个Linux内核子系统,它可以实时监控文件系统事件,如文件创建、修改和删除等

首先,确保你的系统已经安装了inotify-tools。如果没有,请使用以下命令安装:

sudo apt-get update
sudo apt-get install inotify-tools

接下来,你可以使用inotifywait命令来监控文件删除操作。以下是一个简单的示例:

inotifywait -m /path/to/directory -e delete --format '%w%f %e' -r

在这个命令中:

  • -m:监控模式,持续监控文件系统事件。
  • /path/to/directory:需要监控的目录路径。
  • -e delete:指定要监控的事件类型,这里是文件删除操作。
  • --format '%w%f %e':自定义输出格式,显示被删除文件的路径和事件类型。
  • -r:递归监控子目录。

运行这个命令后,每当有文件被删除时,你都会看到相应的输出。

如果你想在脚本中使用inotifywait,可以参考以下示例:

#!/bin/bash

DIRECTORY_TO_WATCH="/path/to/directory"

inotifywait -m "$DIRECTORY_TO_WATCH" -e delete --format '%w%f %e' -r |
while read FILE DELETED_EVENT
do
  echo "File deleted: $FILE"
  # 在这里添加你的处理逻辑,例如备份、通知等
done

将这个脚本保存为一个文件(如monitor.sh),然后使用chmod +x monitor.sh使其可执行。最后,运行脚本即可开始监控文件删除操作。

0