Пакетная оптимизация изображений под Linux

Для работы устанавливаем сначала jpegoptim и optipng

yum install jpegoptim optipng

И оптимизируем скопом все картинки.

Сначала JPEG

find /path/to/dir -name '*.jp*g' -print0 | xargs -0 jpegoptim --all-progressive --strip-all -ft

Опции такие

--all-progressive — все выходные файлы преобразуются в прогрессивный jpeg
--strip-all — удаляет все маркеры из EXIF
-f — принудительная оптимизация, даже если файл будет больше исходного
-t — выведет строку с результатом оптимизации, например так: Average compression (1888 files): 12.79% (26136k)

А затем PNG

find /path/to/dir -name '*.png' -print0 | xargs -0 optipng -o7 -preserve

Здесь опций поменьше

-o7 — степень сжатия (обработки). От быстрой (-o1 — 1 проход) до медленной (-o7 — 240 проходов). Есть так же экстремально медленный (1080 проходов) вариант: -zc1-9 -zm1-9 -zs0-3 -f0-5

-preserve — сохранять атрибуты файла