如何记录 OS X 上文件修改的频率?

如何记录 OS X 上文件修改的频率?

我想知道我最常访问系统中的哪些文件,以衡量它们的重要性。我知道操作系统记录了上次访问文件的时间。有没有办法在每次访问文件时登录文本文件,可能按每小时或每天的时间尺度?我怀疑我可以使用 chron 任务,但我不太熟悉使用它。我更喜欢 OS X 解决方案。

答案1

您可以使用inotify。请参阅下面的示例代码。

#!/bin/sh 

src_path=/directory/path/to/monitor

inotifywait --format '%:e %w%f' -e modify,delete,create \
    --exclude '^.+(jpe?g|gif|ico|png|svg|pdf|pptx?|swpx|swp)$' \
    -m -r "$src_path" | \
    while read watched_filename EVENT_NAMES; do
            case "$watched_filename" in
                    MODIFY)
                            echo "$EVENT_NAMES has been modified"
                            ;;
                    CREATE)
                            echo "$EVENT_NAMES has been created"
                            ;;
                    DELETE)
                            echo "$EVENT_NAMES has been deleted"
                            ;;
                    *) echo "Unknown event, exiting";break
            esac
    done

您可以修改脚本来执行各种操作,例如在 MODIFY 事件上向您发送短信。

答案2

这是一篇关于fswatch 和 inotify。我对 fswatch 不是很熟悉,但是我一直使用 inotifywatch,它听起来像是您正在寻找的。

相关内容