Оптимизируем картинки
Как уменьшить размеры слишком больших картинок и сжимать остальные без потерь? Нам понадобятся плагины: imagemagick, jpegoptim и optipng
yum -y install jpegoptim optipng ImageMagick
Далее переходим в папку с картинками (например upload) и выполняем команды:
Уменьшаем слишком большие файлы (больше 2000px) Осторожно! Перезаписывает существующие файлы.
find -name *.jpg -exec mogrify -resize '2000x>' '{}' \;
Сжатие без потерь:
find -name *.jpg -exec jpegoptim --all-progressive --strip-all -t '{}' \; find -name *.png -exec optipng -o3 '{}' \;
Автоматизируем оптимизацию, повесив скрипт на cron. Создаем файлик img-optim.sh в /home/bitrix и кладем в него наши команды с небольшим изменением. Команда find будет искать только те файлы которые были созданы/изменены в течение дня. Т.ч. заранее необходимо запустить вручную команду для оптимизации всех картинок, а дальше уже добавлять обработчик на крон.
#!/bin/bash find /home/bitrix -name *.jpg -ctime -1 -exec jpegoptim --all-progressive --strip-all -t '{}' \; find /home/bitrix -name *.png -ctime -1 -exec optipng -o3 '{}' \;
Добавляем в крон crontab -e
0 0 * * * /home/bitrix/img-optim.sh >/dev/null 2>&1
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.