Переполнение HDD при обмене CommerceML

Для магазина с парой сотен товаров настроена синхронизация данных CommerceML из МойСклад. Так как изменения в МойСклад происходят очень часто, то задан интервал обмена в 1 час.

Как оказалось, на диске сервера за один день накапливается по 2ГБ, что совсем не весело. И это только один магазин, а если их сотня, и товаров в каждом намного больше, то совсем беда. Хотелось бы понять, почему старые фото не удаляются, а накапливаются.

Кто силён в этом вопросе, пожалуйста, подскажите, как с этим бороться.

Я себе в cron давно поставил задачу раз в сутки очищать папку обмена с 1С от старых файлов, они все равно не нужны. Хотя по хорошему, конечно, их надо удалять сразу по завершении обмена.

Возможно не по теме, но спрошу.

Как то залез я в администрирование - файлы, и там нашел товары строй материалов, эти товары мы удалили более 4-5 месяцев назад. Но фото там валялись, спросил ТП почему если я удалил товары фото остались, ответили что возможно они где-то используются, где они могут использоваться кроме товаров? )) напрягло!

Так-же тут висят файлы приличного веса, нужны ли они? ) :see_no_evil:

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

То есть у вас всего один файл? А если удалить и создать новый? ))

У вас часто изменяются товары или вы просто делаете часто обмен?

Какую команду cron вы используете для очистки?

Не помню сейчас как там у меня точно, но принцип такой: поиск через find в папке var/files/1/exim/backup по маске 1С* и удалять их, примерно так:

find /путь/от/корня/сервера/к/нужной/папке/ -type f -name "1С*" -mtime +1 -exec rm -f {} \;

Ищет в указанной папке файлы по маске старше одного дня и удаляет их

Как я понимаю, при таком обмене также и фото сильно добавляют вес, причём в геометрической прогрессии. Есть ли команда, которая удаляет сгенерированные иконки?

Нет, это не работает для очистки старых файлов. Если я не ошибаюсь, то эту беду вылечили в новой версии модуля которая стала основной для версии 4,16,2

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

ДА не без багов, но зато стало по другому )))

В конце строки вот эти символы:
{} \;
обязательно должны быть?

да, это синтаксис команды
а вообще вариантов много
посмотрел, у меня вот так

17 2 * * * find /путь/к/корню/сайта/var/files/1/exim/* -type d -name "1C_*" | xargs rm -dfR #Удаление логов синхронизации с 1С магазина Хит-Декор

То есть, командой cron сгенерированные иконки не удалить?

А если в /files/ много папок, то вместо /1/ поставить /*/ звёздочку?

17 2 * * * find /путь/к/корню/сайта/var/files/*/exim/* -type d -name "1C_*" | xargs rm -dfR

всё верно

Тут один гуру говорит, что можно прописать путь так:

/var/files/exim/*

и всё будет работать так же хорошо, как если бы был путь таким:

/var/files/*/exim/*

Я попробовал, и действительно, это работает. :upside_down_face:

Я бы придерживался канонов, чтобы снизить вероятность появления багов