Скрипт для сжатия картинок на сервере.
Даём права на исполнение (chmod +x imgoptim.py), затем запускаем:
./imgoptim.py upload
, где upload - папка, которую нужно сжать.
Либо, если нужно запустить фоном и иметь возможность отключиться, вот так:
./imgoptim.py upload > output.log &
, тогда весь консольный вывод будет писаться в файл output.log.
Команда
tail -f output.log
позволит вживую увидеть вывод и оценить, работает ли скрипт.
Логи скрипт пишет в imgoptim.log в папке скрипта. Скрипт получает список всех подпапок текущей папки, затем для каждой подпапки пишет в лог её название, а также начало и завершение работ по сжатию .jpg и .png-изображений. Изображения кроме текущей подпапки ищутся во всех её подпапках, так что за вложенность переживать не стоит. Поиск изображения производится через запуск linux-команды find, так что найденные ей подпапки скрипту неизвестны (потому скрипт и перебирает подпапки, а не просто сразу запускает рекурсивный поиск из корня).
По окончании прохода по подпапкам аналогичная процедура (но без сжатия подпапок) запускается и для указанной команде папке.
Так как названия подпапок пишутся в лог, в случае прерывания процесса можно узнать уже пройденные папки и указать их в скрипте (строка 9).
Возможные ошибки:
- Не установлены imgoptim и optip
Фикс - их установка:
yum install jpegoptim optipng