要通过 inotify 监控 Debian 文件变化,您可以使用 inotify-tools
打开终端并运行以下命令来安装 inotify-tools:
sudo apt-get update
sudo apt-get install inotify-tools
inotifywait 是一个命令行工具,可以用来监控文件或目录的变化。以下是一些常用的 inotifywait 命令示例:
inotifywait -m /path/to/your/file -e modify,attrib,close_write,move,create,delete
inotifywait -m /path/to/your/directory -e modify,attrib,close_write,move,create,delete --format '%w%f %e' --timefmt '%Y-%m-%d %H:%M:%S'
inotifywait -m -r -e modify,attrib,close_write,move,create,delete /path/to/your/directory1 /path/to/your/file2
在这些示例中,-m 选项表示监控模式,-e 选项用于指定要监控的事件,--format 和 --timefmt 选项用于自定义输出格式。
您可以将 inotifywait 命令与其他 shell 脚本结合使用,以便在检测到文件变化时执行特定操作。例如,以下脚本会在检测到文件变化时将更改记录到日志文件中:
#!/bin/bash
LOG_FILE="/path/to/your/logfile.log"
DIRECTORY="/path/to/your/directory"
inotifywait -m -r -e modify,attrib,close_write,move,create,delete "$DIRECTORY" --format '%w%f %e' --timefmt '%Y-%m-%d %H:%M:%S' |
while read FILE EVENT
do
echo "$(date '+%Y-%m-%d %H:%M:%S') - $FILE - $EVENT" >> "$LOG_FILE"
done
将此脚本保存为 monitor.sh,并通过运行 chmod +x monitor.sh 使其可执行。然后,通过运行 ./monitor.sh 启动监控。
现在,每当指定目录中的文件发生变化时,inotifywait 都会捕获事件并将其记录到日志文件中。您可以根据需要修改脚本以执行其他操作。