Автоудаление устаревших файлов папки upload

Рейтинг: 7.0000  
На голосовании
Предложил Itachi261092 05.03.2018 13:07:38

Автоудаление устаревших файлов папки upload

Для кого то это может и не проблема, но то, что за папкой upload ядро битрикса никак не следит - это факт. При использовании разных решений, шаблонов, и функции ResizeImageGet, например, папка upload заполняется множеством копий картинок, которые потом, например, при выгрузке заменяются. Для них создаются новые копии. А старые никуда не исчезают. Битрикс удаляет только оригинальный файл, а все ресайзы оставляет. Для крупных каталогов это огромная проблема. Объём папки Upload может вырастать до гигантских размеров, и нет ни одного инструмента внутри админки чтобы это как-то контролировать.

Предлагаю, например, в разделе настройки -> настройки продукта -> автокеширование добавить вкладку "Папка upload" и добавить настройки для контроля картинок этой папки. Дать возможность удалять все ресайзы и копии оригинальных файлов, устаревшие файлы, на которые нет ссылок в элементах и разделах инфоблоков, и настраивать автоматическое удаление по таймауту, как для кеша. Если картинку давно никто не запрашивает - она удаляется.

Рейтинг: 1  
Махонин Павел 26.03.2018 16:30:10
Согласен со всем, кроме: "Если картинку давно никто не запрашивает - она удаляется."
По моему мнению не стоит удалять медиа материалы, которые используются на сайте.

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

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

Вообще идеально, если подобную задачу можно будет решать с помощью агента (через cron)
Рейтинг: 0  
Кирсанов Анатолий 26.06.2018 02:26:22
Есть уже готовое решение под эту задачу. У меня с ним не сложилось, пришлось написать свое (все, кроме resize). Потому и не пишу название.

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