Как посчитать, сколько раз файл был выполнен на Linux - PullRequest
1 голос
/ 26 июня 2019

У меня есть исполняемый файл, и я хотел бы знать, сколько раз он выполняется. Файл находится в сетевой файловой системе. Есть ли способ сделать это с помощью сценария, используя одну из утилит Linux? У меня есть ограничение: я хотел бы избежать изменения самого файла. Например, я не буду добавлять файл со счетчиком, который будет обновляться исполняемым скриптом. И я не буду заставлять исполняемый скрипт вызывать какой-то API для увеличения счетчика, например. базы данных.

1 Ответ

1 голос
/ 26 июня 2019

Я не знаю точно, как посмотреть файл на исполнение, но вы можете сконструировать что-то с помощью 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

В случае сетевого ресурса этот сценарий должен быть запущен на компьютере, который использует свою файловую систему.

...