ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Групповое изменение размеров изображений с помощью командной строки в Ubuntu и ImageMagick

Групповое изменение размера изображений с помощью командной строки Linux и ImageMagick

Большие изображения означает большой размер страницы, что означает медленный WordPress и время загрузки страницы для пользователей. Наиболее распространенной причиной является размер изображения или отсутствие сжатия. Если вы никогда не имели каких-либо ограничения размера изображения или автоматическое изменение размеров на вашем сайте, это может быть очень удобно для пакетного изменения размеров этих изображений в Linux.

Это руководство покажет вам, как изменить размер группы файлов с расширением JPG и PNG с помощью ImageMagick на Ubuntu или Debian.

Групповое изменение размера изображений с помощью командной строки Linux и ImageMagick

Во-первых, мы должны установить ImageMagick из хранилища на Debian или Ubuntu.

sudo apt-get update
sudo apt-get install imagemagick -y

 

лучше использовать identify, чтобы получить высоту

identify -format "%wx%h" image.jpg

 

Вы увидите, разрешение: ширину, а потом высоту.

3960x2120

 

Вы можете изменить размер изображения, если оно большое, и можете указать размеры. Это позволит автоматически сохранить соотношение сторон изображения.

convert image.jpg -resize 1040x880\> image.jpg

 

 

Проверьте измененный размер изображения

identify -format "%wx%h" image.jpg

 

Все хорошо!

1040x780

 

Теперь мы можем перейти к пакетному изменению размеров

Пакетное изменение размера изображений с Linux и Imagemagick

Создайте следующий скрипт

mkdir -p ~/scripts
nano ~/scripts/batch-image-resize.sh

 

Вставить ниже сценарий.

FOLDER это абсолютный путь к вашей папке изображений

WIDTH – максимальная ширина и HEIGHT – это максимальная высота.

Он будет перезаписывать ваши оригинальные изображения, убедитесь, что вы имеете резервную копию перед запуском!

#!/usr/bin/env bash
# Purpose: Пакетное измененние размера файлов
# Source: https://andreyex.ru
# Author: andreyex

# абсолютный путь к папке с изображениями
FOLDER="/var/www/andreyex.ru/wp-content/uploads"

# высота изображения
WIDTH=1240

# ширина изображения
HEIGHT=1000

# размер по высоте или ширине, держим пропорции, используя imagemagick
find $FOLDER -iname '*.jpg' -o -iname '*.png' -exec convert \{} -resize $WIDTHx$HEIGHT\> \{} \;

 

Нажмите Ctrl + X, Y и Enter, чтобы сохранить и выйти.

Проверьте размер папки

du -sh foldername

 

Проверьте итоговый размер

215MB

 

Команда screen обеспечит работу пакетного преобразования, даже если ваш SSH сеанс завершается.

sudo apt-get install screen

 

Создайте новый экран сеанса, нажмите пробел или введите screen

screen

 

Выполните скрипт

bash ~/scripts/batch-image-resize.sh

 

Отделить экран с помощью Ctrl + A, а затем нажмите D (снять).

Вы можете использовать команду top и смотреть процессы jpegoptim одновременно.

Заново экран

screen -r

 

Проверьте размер папки снова

du -sh foldername

 

Вы должны увидеть улучшение

175MB

 

Убедитесь в том, чтобы сжать ваши изображения с Lossless или сжатия с потерями (текущее руководство).

Если вам нужно сделать некоторые более продвинутые команды, использовать регулярное выражение, это должно помочь.

Exit mobile version