Вести учет каждого обслуживаемого файла

Я унаследовал php-проект от оффшорной фирмы и уверен, что ~50% файлов больше не используются. Я хочу отсеять неиспользуемые файлы, поэтому я думал просто проследить, сколько раз каждый файл запрашивается или включается, пока я выполняю следующий раунд разработки, а затем обрезать жир. Есть ли простой способ отследить это? Он работает в довольно ванильном стакане ЛАМПЫ.

4 ответа

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

Другой вариант - создать небольшой скрипт для включения в каждый файл, который будет записывать имя файла в журнал каждый раз, когда выполняется синтаксический анализ.

Хммм.... если ваше решение для резервного копирования сохраняет время последнего доступа к файлам, то решение простое... просто найдите в верхней части структуры каталогов и проверьте наличие недоступных файлов. Например:

 find [dir1][dir2]...[dirn] -type f -atime +180 -print  

найдет файлы в именованных каталогах, к которым не было доступа в течение 180 дней.

Я думаю, что inotify - лучшее решение, попробуйте использовать inotifywatch для операций ACCESS/OPEN монитора в указанном каталоге:

# inotifywait -e access -e open -m -r / home / jamzed /

Теперь все операции доступа и открытия в /home/jamzed/* будут отслеживаться.

пример: если я сделаю '$ cat examples.desktop', то inotifywatch напишет на STDOUT:

/ home / jamzed / OPEN examples.desktop / home / jamzed / ACCESS examples.desktop

Вы можете перенаправить STDOUT в файл ( >> file_to_analyze), чтобы лучше проанализировать, какие файлы не использовались.

Вы можете использовать AuditD для мониторинга доступа к файлам на уровне ядра, а затем использовать Ausearch для поиска /grep журналов аудита. Это должно поймать все, независимо от того, какой процесс / пользователь /subshell касается файлов. Если это занятый сервер, очевидно, сделайте некоторые проверки работоспособности, прежде чем настраивать большое количество часов.

Другие вопросы по тегам