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

Как определить и удалить неиспользуемые файлы / каталоги с веб-сервера Apache

Новый покупатель. Старый сервер. Неиспользуемых файлов и каталогов предостаточно. 5 конкретных основных каталогов (привязанных к разным доменам). 10-20 возможных посторонних каталогов с файлами на том же уровне, что и основные каталоги.

Создайте что-то для запуска в каждом основном каталоге и выполните следующие действия:

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

Что-нибудь подобное уже существует? Лучший способ достижения конечной цели? Предлагаемый язык / инструменты для сборки?

Честно говоря, я ищу, с чего начать, если все было сделано правильно.

Honestly, I'm looking for where to begin on this if it were done right.

С хорошей резервной копией и новым сервером, построенным только из того, что вам нужно.

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

Опасность попытки «очистить» старый сервер, заполненный хламом, заключается в незнании того, что хлам, а что важно.
Поскольку вы задаете нам этот вопрос вместо того, чтобы сунуть свой кулак в сервер и вырвать его гниющие цифровые кишки, мы можем предположить, что вы не знаете наверняка, что является / не является бесполезным. Даже самый лучший инструмент будет иметь нечеткость с одной или другой стороны: либо вы оставите мусор, потому что не знаете, нужно ли оно вам, либо вы удалите то, что вам нужно, и вам придется делать эти резервные копии.


Если вы все еще хотите написать описанный сценарий, вы можете сделать это с помощью (относительно) простого сценария оболочки:

  • cat файлы журнала вместе
  • использовать awk захватить URL
  • sort и uniq список URL для устранения дубликатов
    • Вам может понадобиться сделать дальше awk и sed манипуляции для преобразования URL-адресов в имена файлов на диске ...
  • Возьмите список известных файлов, к которым вы обращаетесь, просмотрите его вручную и добавьте все, что могли пропустить ваши скрипты.
  • tar файлы, к которым был известен доступ, и поместил их в безопасное место.
  • Переместите старый каталог в сторону (сохраните его в качестве резервной копии) и распакуйте ваши известные файлы, к которым вы обращались.

(Реализация оставлена ​​в качестве упражнения для читателя, в основном потому, что ваш формат журнала доступа может отличаться от моего, что влияет на awk выражения, которые необходимо использовать для преобразования URL-адресов в файлы в файловой системе)