在Ubuntu系统中,inotify是一个用于监控文件系统事件的Linux内核子系统。你可以使用inotifywait命令行工具来检测文件的修改时间。inotifywait是inotify-tools包的一部分,因此首先需要安装这个包。
inotify-tools:sudo apt-get update
sudo apt-get install inotify-tools
inotifywait监控文件修改时间:创建一个名为monitor.sh的脚本文件,并添加以下内容:
#!/bin/bash
# 监控的文件路径
file_path="/path/to/your/file"
# 使用inotifywait监控文件修改事件
inotifywait -m -e modify "$file_path" |
while read path action file; do
# 当文件被修改时,获取文件的修改时间
mod_time=$(stat -c %y "$file_path")
echo "File $file was modified at $mod_time"
done
将/path/to/your/file替换为你要监控的文件路径。然后,给予脚本执行权限并运行它:
chmod +x monitor.sh
./monitor.sh
现在,每当文件被修改时,脚本都会输出文件的修改时间。
注意:inotifywait默认监控的最大文件描述符数量可能不足以满足你的需求。如果遇到问题,请尝试增加fs.inotify.max_user_watches的值。例如,将其设置为524288:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p