我有一个可执行文件,我想知道它被执行了多少次。该文件位于网络文件系统上。是否可以使用一种Linux实用程序使用脚本来执行此操作?我的限制是我想避免更改文件本身。例如,我不会添加带有计数器的文件,该计数器将由可执行脚本更新。而且我不会使可执行脚本调用某些API来增加计数器,例如数据库。
答案 0 :(得分:1)
我不知道如何监视文件的执行情况,但是您可以使用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
如果是网络共享,则必须在共享其文件系统的计算机上运行此脚本。