Назад | Перейти на главную страницу

Оптимизация изображений на сервере CentOS

У меня есть огромный каталог изображений на сервере CentOS (~ 65 ГБ). Изображения преимущественно в формате jpeg, но есть несколько PNG и пара GIF.

Вот раздражающая и странная часть - все изображения хранятся без расширений с такими именами файлов, как z_1bC5f4. У них была начальная оптимизация с помощью imagemagick, но мне нужно уменьшить все их размеры. Я бы хотел установить инструмент оптимизации интерфейса командной строки, но не знаю, как мне обойти отсутствие расширений. Мне также нужно запустить это на производственном сервере, не используя весь процессор и память.

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

Любые идеи?

Вы можете использовать файл команда, чтобы определить, каким должно быть расширение

file -b --mime-type a
image/jpeg

file -b --mime-type c
image/gif

Так что перебрать файлы в цикле должно быть довольно просто - запустите команду file, чтобы определить расширение - запустите утилиту для их оптимизации - сделайте что-нибудь еще

Чтобы уменьшить влияние обработки на ваш сервер, используйте отлично команда для уменьшения приоритета процессора преобразователя.

Я не могу помочь с подходящей утилитой, мне действительно никогда не приходилось делать что-то подобное.

По какой причине вы не можете установить ImageMagick? Я предполагаю, что это именно то, на что вы смотрите, поскольку у вас есть этот вопрос, помеченный как таковой - если да, то моим инстинктом было бы просто запустить что-то вроде:

pushd 
for f in *
do
  nice -n 19 convert -size 1024x1024 $f resize 1024x1024 $f
done
popd

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