LinuxForum.Fans
Тема

Нужна пощь по очистке сервера от "мусора"

Автор: valentyn 3 сообщений 1887 просмотров
#267343

Доброго всем времени суток.
Стоит задача по перемещению сайта на новый сервер (апаче). Делаю это с помощью wget. В целом всё идет хорошо если бы не одно "но": вместе с файлами упомянутыми на вэб страницах копируется и "мусор", т.е. файлы, ссылок на которые на страницах нету. И теперь нужно очистить сервер от этих файлов, т.е. удалить все файлы которые никак не упоминаются и не используются на вэб страницах.

Сам попытался решить этот вопрос написанием маленького bash скрипта. Откровенно говоря не очень мне нравится мой путь решения данного вопроса! Скрипт работает по следующей схеме:
- создается список файлов на сервере (1)
- создается список файлов которые упоминаются на вэб страницах (2)
Дальше хочу сравнивать при помощи grep (1) и (2) и сталкиваюсь с проблемой, что при создании списка (2) папки которые физически не имеют вэб страницы рассматривались как индексные и в итоге (1) и (2) идентичны...

Кто-нибудь сталкивался с чем-то подобным? Толкните в правильное русло!!! Может есть более простое (или сложное) решение данного вопроса? Свой скрипт не выкладываю и не прошу в него смотреть потому что хочу подойти с другой стороны к вопросу! Нужны идеи!

Всем заранее спасибо!!!!

#267355
"valentyn" написал:
Дальше хочу сравнивать при помощи grep

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

#267359
i2ks написал:
[quote="valentyn"]Дальше хочу сравнивать при помощи grep
[/quote]

i2ks написал:
Сравнений файлов и каталогов делается с помощью diff.

Знаю про это. Лично мне grep -v показался проще и понятней.

i2ks написал:
А что мешает сделать список необходимых файлов, и потом взять и удалить то что не нужно?

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

Войдите или зарегистрируйтесь, чтобы ответить.