На сервере под завязку забилась память из-за постоянного парсинга. Причем забилась она преимущественно картинками в форматах .jpg и .png. Сначала я хотел их удалить, но потом передумал и решил попробовать сжатие. Разумеется сжимать файлы через консоль я не собирался, хотел просто воспользоваться каким-нибудь бесплатным плагином для этих целей. Однако, оказалось, что таких плагинов нет, везде подписки и лимиты… Так что пришлось лезть в консоль.
Я ненавижу сисадминить, а потому делаю этот пост в том числе и для себя. Вдруг опять придется заниматься чем-то подобным…
Для осуществления сжатия я использовал две утилиты, это: jpegoptim и optipng. Устанавливал я их через консоль так:
sudo apt-get install optipng
и
sudo apt-get install jpegoptim
Эти утилиты доступны так-же в репозиториях centos, fedora и так далее, различаться будет только пакетный менеджер. У меня стоит debian, поэтому я использую apt-get.
Рекурсивное сжатие .jpg
Тут все просто. Переходим в нужную нам папку используя cd и выполняем команду:
find -type f -name "*.jpg" -exec jpegoptim --strip-all --max=70 {} \;
параметр —max отвечает за степень сжатия изображений. Он варьируется от 0 до 100.
Обработка выглядит так:
Тут напрямую показано на сколько сжимается тот или иной файл.
Рекурсивное сжатие .png
Чтобы сжать .png файлы выполните команду:
find -type f -name "*.png" -exec optipng -o4 {} \;
Тут за степень сжатия отвечает параметр -o, чем цифра больше, чем выше проходов сжатия будет осуществено и тем медленнее будет процесс… Например -o1 — всего 1 проход сжатия, где-то 5%, а -o7 — аж целых 7 проходов, медленно, зато сожмет процентов на 40.
Обработка выглядит так:
Как вы видите, с каждым последующим подходом размер изображения уменьшается.
Осуществление этих мер позволило мне освободить почти 2 гигабайта свободного места, чего мне хватит на долго, учитывая тот факт, что на сервер ничего нового добавляться не будет.
Спасибо!!!