Назад | Перейти на главную страницу

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

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

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

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

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

# inotifywait -e доступ -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), чтобы лучше проанализировать, какие файлы не использовались.

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

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

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

Ты можешь использовать аудит для отслеживания доступа к файлам на уровне ядра, затем используйте ausearch для поиска / поиска в журналах аудита. Это должно улавливать все, независимо от того, какой процесс / пользователь / подоболочка касается файлов. Если это загруженный сервер, очевидно, проведите некоторую проверку работоспособности, прежде чем устанавливать большое количество слежений.