Быстрая оптимизация изображений

Небольшой обзор и тест zImageOptimizer.sh — скрипта для оптимизации изображений прямо на сервере.

Скрипт автором написан на bash, при запуске он проверит, установлено ли нужное для оптимизации ПО и предложит доустановить утилиты при необходимости. Забираем скрипт с Github’а, делаем его исполняемым и проверяем, установлено ли всё что скрипту потребуется для работы:

$ curl -O https://raw.githubusercontent.com/zevilz/zImageOptimizer/master/zImageOptimizer.sh
$ chmod +x zImageOptimizer.sh
$ ./zImageOptimizer.sh -c

Checking tools...
jpegoptim...[FOUND]
jpegtran...[FOUND]
djpeg...[FOUND]
cjpeg...[FOUND]
pngcrush...[FOUND]
optipng...[FOUND]
pngout...[FOUND]
advpng...[FOUND]
gifsicle...[FOUND]

All tools found

Если какие-то утилиты скрипт не найдёт, то перед запуском процесса оптимизации, он предложит доустановить их (разумеется, для установки скрипту потребуются права суперпользователя).

Сам процесс оптимизации запускается командой (путь до директории обязательно нужно указать полный):

$ ./zImageOptimizer.sh -p /home/user/images

И вот здесь важный момент — скрипт, в процессе работы файлы перезапишет, так что если для нас это критично, то перед запуском, мы делаем бекап важных для нас данных (ну или проверяем что такой бекап у нас имеется).

оптимизация изображений

Время работы скрипта зависит от количества файлов, на самом простом дроплете DO, обработка 1000+ файлов, которые уже ранее были немного оптимизированы заняла чуть больше 6 минут.

Input: 111.7Mb
Output: 87.4Mb
You save: 24.2Mb / 21.74%
Optimized/Total: 1171 / 1171 files
Total optimizing time: 6 minutes and 25 seconds

Из удобных дополнительных параметров здесь имеется возможность указания исключений, и настройка выборки файлов за определённый временной промежуток. Т. е. если мы, например, работаем с ресурсом, на котором регулярно появляются новые изображения, запуск скрипта мы можем настроить в планировщике, при этом, сделать всё так, что бы обрабатывались только новые изображения.

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

Optimizing...
[1/1] /home/user/images/oimage.jpg... [OPTIMIZED] 12941.4Kb -> 1994.5Kb

Input: 12.6Mb
Output: 1.9Mb
You save: 10.6Mb / 84.59%
Optimized/Total: 1 / 1 files
Total optimizing time: 17 seconds

@SysadminNotes | https://sysadmin.pm

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *