• Массовое сжатие картинок Linux

  •  

На сервере под завязку забилась память из-за постоянного парсинга. Причем забилась она преимущественно картинками в форматах .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 гигабайта свободного места, чего мне хватит на долго, учитывая тот факт, что на сервер ничего нового добавляться не будет.

 Один комментарий
Страница 1 из 1
    seoonly.ru

    Спасибо!!!

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