Есть ли простой способ создать отчет о «мертвых» файлах в IIS?

Есть ли простой способ создать отчет о «мертвых» файлах в IIS?

Мы хотим составить список файлов, которые не были загружены на наш веб-сервер за последние 3 месяца, 6 месяцев и год.

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

решение1

Боюсь, простого решения нет. Думаю, вам придется сравнить ваши логи со списком (статичных, я полагаю) файлов. Лучший способ, который я могу придумать, это использоватьЛогПарсеринструмент.

Вы можете импортировать ваши журналы в базу данных SQL и создать таблицу, содержащую все URL-адреса (выберите отдельные ...). Затем вам придется создать список имен файлов в ваших каталогах с помощью скрипта и импортировать полученный файл в другую таблицу базы данных. Шаг 3 — выбрать все имена файлов из Table2, которые не имеют аналогов в первой таблице.

решение2

У Splattne есть ответ, который я собирался опубликовать. Я бы просто добавил, что ДРУГОЙ способ сделать что-то — это сделать следующее:

  1. Переименуйте любой файл, который вы подозреваете в том, что он не используется, с префиксом "X_". Например, переименуйте suspect.htm в "x_suspect.htm"

  2. Следите за своими журналами 404 КАК ЯСТРЕБ. Мы использовали grep для разбора всех 404 и поиска "мертвых" файлов, которые на самом деле не были мертвы. Верните их обратно (или исправьте ссылку), если необходимо.

Это не мой ЛЮБИМЫЙ метод решения задач (например, отображение клиенту ошибки 404), но он помогает подтвердить, используется файл или нет.

Надеюсь это поможет.

решение3

Сыщик ссылок Xenuвыполнит проверку на наличие потерянных файлов, если вы предоставите ему FTP-доступ к вашему веб-сайту.

решение4

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

  • server.transfer
  • server.execute
  • #include
  • <script>теги на стороне сервера
  • вероятно, есть и другие вещи — приведенный выше список — это лишь очевидные вещи, которые приходят на ум при упоминании «классического» ASP.

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

Связанный контент