Scriptet køres 1 gang ugentligt (søge tiden er sat til 2 uger så hvert billede køres igennem alle værktøjer 2 gange hvilket kan resultere i yderligere optimering).
Installering af afhængigheder værktøjer:
Kode: Vælg alt
#!/bin/sh
#Tested on Ubuntu 14.04
apt-get install git-core libjpeg-turbo-progs advancecomp optipng jpegoptim make g++
#jpegrescan
wget https://raw.github.com/kud/jpegrescan/master/jpegrescan
chmod +x jpegrescan
mv jpegrescan /usr/bin
perl -MCPAN -e 'install File::Slurp'
#pngout
wget http://static.jonof.id.au/dl/kenutils/pngout-20130221-linux.tar.gz
tar xvfz pngout-20130221-linux.tar.gz pngout-20130221-linux/x86_64/pngout
mv pngout-20130221-linux/x86_64/pngout /usr/bin
rm -r pngout-20130221-linux pngout-20130221-linux.tar.gz
#zopfli
git clone https://code.google.com/p/zopfli/
cd zopfli
make zopflipng
mv zopflipng /usr/bin
cd ~
rm -r zopfli
Selve scriptet:
Kode: Vælg alt
#!/bin/sh
#Optimize images
find /var/www/images -type f -mtime -14 -name '*.jpg' -exec jpegoptim -q --strip-all {} \; -exec chmod 644 {} \;
find /var/www/images -type f -mtime -14 -name '*.jpg' -exec jpegrescan -s {} {} \;
find /var/www/images -type f -mtime -14 -name '*.png' -exec advpng -z4q {} \;
find /var/www/images -type f -mtime -14 -name '*.png' -exec pngout -yq {} \;
find /var/www/images -type f -mtime -14 -name '*.png' -exec optipng -o7 {} \;
find /var/www/images -type f -mtime -14 -name '*.png' -exec zopflipng -ym --lossy_transparent --lossy_8bit --splitting=3 {} {} \;