如何计算文件在 linux 上执行的次数
How to count number of times a file was executed on linux
我有一个可执行文件,我想知道它被执行了多少次。该文件位于网络文件系统上。有没有办法通过使用 Linux 实用程序之一的脚本来执行此操作?我的限制是我想避免更改文件本身。例如,我不会添加一个带有可执行脚本更新的计数器的文件。而且我不会让可执行脚本调用一些 API 来增加计数器,例如数据库。
我不知道如何查看文件的执行情况,但是您可以通过 inotify
观察打开文件的次数来构造一些东西:
你可以有这样的脚本:
#! /bin/bash
EXEC_CNT=0
FILE_TO_WATCH=/path/to/your/file
while inotifywait -e open "$FILE_TO_WATCH"
do
((EXEC_CNT++))
echo "$FILE_TO_WATCH opened $EXEC_CNT times"
# Or to store in a file:
# echo "$FILE_TO_WATCH opened $EXEC_CNT times" >> "$FILE_TO_WATCH.log"
done
如果是网络共享,此脚本必须在共享其文件系统的计算机上运行。
我有一个可执行文件,我想知道它被执行了多少次。该文件位于网络文件系统上。有没有办法通过使用 Linux 实用程序之一的脚本来执行此操作?我的限制是我想避免更改文件本身。例如,我不会添加一个带有可执行脚本更新的计数器的文件。而且我不会让可执行脚本调用一些 API 来增加计数器,例如数据库。
我不知道如何查看文件的执行情况,但是您可以通过 inotify
观察打开文件的次数来构造一些东西:
你可以有这样的脚本:
#! /bin/bash
EXEC_CNT=0
FILE_TO_WATCH=/path/to/your/file
while inotifywait -e open "$FILE_TO_WATCH"
do
((EXEC_CNT++))
echo "$FILE_TO_WATCH opened $EXEC_CNT times"
# Or to store in a file:
# echo "$FILE_TO_WATCH opened $EXEC_CNT times" >> "$FILE_TO_WATCH.log"
done
如果是网络共享,此脚本必须在共享其文件系统的计算机上运行。