Вести учет каждого обслуживаемого файла
Я унаследовал 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 касается файлов. Если это занятый сервер, очевидно, сделайте некоторые проверки работоспособности, прежде чем настраивать большое количество часов.