温馨提示×

Debian inotify实时监控脚本怎么写

小樊
45
2025-11-03 05:22:04
栏目: 智能运维

在Debian系统中,你可以使用inotify-tools来实时监控文件或目录的变化。以下是一个简单的脚本示例,用于监控指定目录中的文件变化(如创建、删除、修改等)。

首先,你需要安装inotify-tools

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

然后,创建一个名为monitor.sh的脚本文件,并添加以下内容:

#!/bin/bash

# 指定要监控的目录
DIRECTORY_TO_WATCH="/path/to/your/directory"

# 使用inotifywait命令监控目录
inotifywait -m -r -e create,delete,modify --format '%T %w%f %e' --timefmt '%Y-%m-%d %H:%M:%S' "$DIRECTORY_TO_WATCH" | while read FILE_EVENT
do
  # 输出事件信息
  echo "Event: $FILE_EVENT"
  
  # 在这里添加你想要执行的操作,例如:
  # - 如果文件被创建,执行某个命令
  if [[ $FILE_EVENT == *"CREATE"* ]]; then
    echo "File created: $FILE_EVENT"
    # your_command_here
  fi
  
  # 如果文件被删除,执行某个命令
  if [[ $FILE_EVENT == *"DELETE"* ]]; then
    echo "File deleted: $FILE_EVENT"
    # your_command_here
  fi
  
  # 如果文件被修改,执行某个命令
  if [[ $FILE_EVENT == *"MODIFY"* ]]; then
    echo "File modified: $FILE_EVENT"
    # your_command_here
  fi
done

/path/to/your/directory替换为你想要监控的目录路径。

保存脚本文件后,给予执行权限:

chmod +x monitor.sh

现在,你可以运行脚本来实时监控指定目录:

./monitor.sh

这个脚本会持续运行并输出目录中发生的文件事件。你可以根据需要在if语句中添加自己的逻辑来处理这些事件。

0