重要性を測定するために、私のシステムで最も頻繁にアクセスされるファイルが何であるかを知りたいです。私はオペレーティングシステムがファイルに最後にアクセスした時間を追跡することを知っています。時間単位または日単位でファイルにアクセスするたびにテキストファイルを記録する方法はありますか?私は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を使ってきましたが、あなたが探しているものと似ているようです。