Опишите доработку или сценарий — обсудим вместе с другими клиентами.
Очистка устаревшего кеша
Технические данные
Совместимые редакции
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Старт
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Стандарт
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Малый бизнес
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Бизнес
- Программа для ЭВМ "1С-Битрикс24". Лицензия Интернет-магазин + CRM (12 мес.)
Описание
По расписанию удаляет только устаревшие файлы кеша, освобождает место на диске и не замедляет сайт. Свежий кеш не трогает.
Папки /bitrix/cache/, /bitrix/managed_cache/, /bitrix/stack_cache/, /bitrix/html_pages/ и /upload/resize_cache/ со временем разрастаются: устаревшие файлы кеша остаются на диске, пока их не удалят вручную или самописным скриптом. На больших сайтах это гигабайты лишних файлов, медленные бэкапы и упирание в квоту хостинга.
«Очистка устаревшего кеша» решает это одним модулем. После установки агент сам, раз в несколько часов, находит и удаляет только то, что уже не нужно. Действующий кеш остаётся на месте, поэтому сайт не «холодеет» и не пересобирает страницы заново, как после полного сброса.
Что умеет модуль
- Удаляет кеш с истёкшим сроком жизни. Срок берётся из самого файла кеша, а не угадывается по дате изменения. Это тот же механизм, что использует штатная очистка Битрикса.
- Разбирает очередь отложенного удаления: когда Битрикс сбрасывает тегированный кеш, он переименовывает каталоги в .~N и ставит их в очередь. Модуль эту очередь дочищает.
- Дополнительно чистит по возрасту файлов. Для каждой директории свой порог в часах: cache, managed_cache, stack_cache, html_pages (в том числе композитный кеш), upload/resize_cache, upload/tmp. Режим выключен по умолчанию и включается по каждой директории отдельно.
- Не нагружает сервер: за один запуск удаляется ограниченное число файлов и работа идёт ограниченное время, остаток дочищается на следующих запусках. Параллельный запуск исключён блокировкой.
- Показывает результат: гаджет на рабочем столе (сколько файлов удалено, сколько места освобождено, когда следующий запуск) и кнопка «Запустить сейчас» без перезагрузки страницы.
- Ведёт журнал: каждый запуск записывается в журнал событий Битрикса.
- Работает и на хитах, и на cron: очистку можно запускать напрямую командой php bitrix/modules/tenletters.oldcache/cli/clean.php.
- Даёт события OnBeforeOldCacheClean и OnAfterOldCacheClean для интеграторов: первое позволяет отменить запуск, второе получает статистику.
Безопасность
- Никакого «удалить всё»: удаляется только то, что признано устаревшим.
- Удаляются только файлы (и пустые каталоги) внутри выбранных каталогов очистки; симлинки внутри них не обходятся, а файлы кеша по сроку жизни удаляются, только если физически лежат в cache, managed_cache или stack_cache.
- Настройки и ручной запуск доступны только администраторам, AJAX защищён CSRF-токеном.
- Модуль не создаёт таблиц в базе данных и не меняет файлы ядра. При удалении снимает агент, настройки и копию гаджета.
Настройка за минуту
Установите модуль — агент зарегистрируется сам с интервалом 6 часов. Очистка по сроку жизни включена сразу. При необходимости откройте настройки модуля и включите очистку по возрасту для нужных директорий, поменяйте интервал и лимиты.
Частые вопросыМодуль удалит нужный кеш? Нет. Очистка по сроку жизни удаляет только файлы, срок которых вышел. Очистка по возрасту (выключена по умолчанию) может удалить и действующий кеш старше порога: Битрикс пересоберёт его при обращении, первые открытия страниц будут чуть медленнее.
Как часто запускать? По умолчанию раз в 6 часов. Минимальный интервал — 300 секунд, чаще обычно не нужно.
Что делать, если кеша накопилось очень много? Увеличьте лимит файлов за запуск или временно запустите очистку вручную несколько раз. Реальный ограничитель длительности запуска — лимит времени; лимит файлов считает только удалённые файлы.
Как отключить очистку, не удаляя модуль? Снимите галочку «Модуль включён»: агент и cli-скрипт прекращают работу, настройки сохраняются, ручной запуск остаётся.
Где смотреть, что делал модуль? В гаджете и в журнале событий («Настройки → Журнал событий», фильтр по модулю tenletters.oldcache; ссылка есть на странице настроек).
- 1С-Битрикс: модуль main версии 20.0.0 и выше
- PHP 7.4 и выше, расширение mbstring
- MySQL и PostgreSQL: собственных таблиц и SQL у модуля нет, только штатные опции и агент
- Редакции: все, где есть модуль main (список редакций для карточки — по REQUIREMENTS.md, NFR-2)
- Композитный сайт: поддерживается (очищается /bitrix/html_pages/)
- Marketplace → «Установленные решения», найдите модуль и нажмите «Установить».
- Добавьте гаджет «Очистка устаревшего кеша» на рабочий стол, чтобы видеть результат.
Если у вас возникли вопросы по установке, настройке или работе модуля, обратитесь в нашу службу поддержки.
В обращении рекомендуем указать:
название модуля;
версию Битрикс;
описание вопроса или возникшей ошибки;
последовательность действий, после которых возникает проблема;
скриншоты или текст ошибки, если они есть.
Обращения по вопросам работы модуля направляйте:
E-mail: support@10bukv.ru
Сроки поддержки:
Первичный ответ предоставляется в течение 2 рабочих днейс момента получения обращения.
Срок устранения проблемы зависит от ее сложности и необходимости дополнительной диагностики.
Критические ошибки, препятствующие работе модуля, рассматриваются в приоритетном порядке.
Поддержка осуществляется в рабочие дни с 09:00 до 18:00 по московскому времени (МСК).
Установите этот модуль прямо сейчас!
Для этого укажите адрес сайта:
Подтвердите что сама лицензия у вас куплена
