Ходим на работу в интернет

Сколько раз маленький ребенок делает попытку встать и пойти, пока не научится ходить?

Для магазинов футболок — переполнение кэша

Автор: Игорь

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

Неожиданно все сайты, живущие на хостинге, начинают вести себя непонятно — на их страничах вылазят разные угрожающие надписи-варнинги, авторство которых принадлежит серверу.
Суть их сводится к одному — вам сообщают о том, что, дескать, «дисковая квота переполнена» .

Нормального человека такое сообщение способно вогнать в ступорт — чего это за квота такая, как она переполнилась и кому бить за это морду?
И чего, собственно, делать после этого?

Некоторые раскидывают мозгами и идут смотреть на хостинг — не переполнен ли диск?
Видят, что места на нем до фига…

Удивляются еще больше.

А собака тут порылась вот где.

Если в своем аккаунте хостинга войти в раздел статистики, а в нем — в раздел «Использование ресурсов», то можно обнаружить, что помимо дискового пространства, измеряемого в Мб., у хостинга есть еще ограничение на количество создаваемых файлом.

И вы, судя по всему, этот лимит исчерпали.

Кстати. Если вы по фтп пытаетесь загрузить на сервер новые файлы, а они упорно не хотят загружаться — вполне возможно, что у вас та же проблема — исчерпан лимит на количество файлов.

Причина этому в 99% случаев, как я уже сказал, в большом количестве магазинов футболок на вашем аккаунте.
Дело в том, что в каждом таком магазине в корне сайта лежит папочка cache а в ней — папочка files.
Туда движок магазина при каждом обновлении закидывает картинки футболок и прочего товара. И вот эта папочка пухнет, пухнет, пухнет…
Когда магазин у вас один — эта проблема встанет перед вами не скоро.
А когда несколько?

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

Но лежат.

Проблема?

Проблема.

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

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

В админке хостинга идем в менеджер файлов, затем в домены, находим домен с магазином, находим там папку cache а в ней — папку files.

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

Этих файлов там тысячи.
У них там гнездо.

Поэтому мы просто удаляем всю папку files.
Приготовьтесь, кстати, к тому, что сервер надолго задумается — удалить такую кучу даже его мощностьям нелегко.
Совсем зависнет — пробуйте снова.
Раз на третий он задачу выполнит.
Итак, папку со всем содержимым мы убили.

Теперь просто создаем ее там же заново. Не забыв дать новорожденной папке права 777.
Как это делается — разберетесь, там все наглядно.
Не бойтесь, что магазин внезапно остался без картинок — откройте его морду и посмотрите — фотки футболок уже подгрузились заново.

Итак, приступ мы купировали, теперь давайте лечить.
Дабы никогда впредь…

Качаете себе на комп вот эту папочку.

Распаковываете.

Кидаете ее по фтп в корень сайта с магазином.
Ставите права 700 на файл testandrm, лежащий внутри папки.

Далее в админке своего хостинга идет в раздел Управление в подраздел Задания по расписанию.
И создаете новое задание по расписанию.

В строке Задание: ваяеете вот такую конструкцию:

~/domains/vashsite.ru/testt/testandrm ~/domains/vashsite.ru/cache/files 512000 5

Разумеется, вместо vashsite.ru — пишете имя своего домена.

Таким образом, сервер сам запустит выполнение скрипта testandrm, который сходит и посмотрит обстановку в злополучной папке files.
И если размер папки превысил 512 Мб — он удалит из папки все файлы старше 5 дней. Что и требуется.

Теперь настраиваем время запуска задания.

Предлагаю не заморачиваться и взять настройку из примера на хостинге, в вопросах и ответах:
Минуты: 30
Часы: 22
Дни: *
Месяцы: *
Дни недели: *

То есть, скрипт будет запускаться каждый день в 22.30.
Этого хватит с головой.

А поскольку у вас магазинов несколько, то задания надо настроить для каждого (время выполнения можно чуть изменить).
В каждый магазин папку со скриптом можно не пихать, просто чуть корректируете строчку в новом задании.

И вместо:
~/domains/vashsite.ru/testt/testandrm ~/domains/vashsite.ru/cache/files 512000 5

пишете:
~/domains/vashsite.ru/testt/testandrm ~/domains/vashsite№2.ru/cache/files 512000 5
где vashsite№2.ru — имя домена вашего следующего магазина.

------------------------------------------------------------
PS: Получатели нашей приватной рассылки узнают первыми обо всем. И всегда получают чуть больше других.
Приватная рассылка, подписаться!
------------------------------------------------------------


Добавить комментарий


4 × = восемь