improve cronjobs

This commit is contained in:
VirtuBox 2018-08-07 15:27:37 +02:00
parent 14ca323944
commit 77fa1e8aec
6 changed files with 51 additions and 31 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
\.history/

View File

@ -1,19 +0,0 @@
input="sites.csv"
while IFS='|' read -r f1 f2
do
# optimize jpg images created in the last 24 hours
find $f2 -iname "*.jpg" -o -iname "*.jpeg" -ctime 0 -print0 | xargs -0 jpegoptim --quiet --strip-all -m76
# optimize png images created in the last 24 hours
find $f2 -iname '*.png' -ctime 0 -print0 | xargs -0 optipng -o7 -quiet -preserve
# convert png to webp
find $f2 -iname "*.png" -ctime 0 -print0 | xargs -0 -I {} \
bash -c 'webp_version="$0".webp
if [ ! -f "$webp_version" ]; then
{ cwebp -quiet -lossless {} -o {}.webp; }
fi'
find $f2 -iname "*.jpg" -o -iname "*.jpeg" -ctime 0 -print0 | xargs -0 -I {} \
bash -c 'webp_version="$0".webp
if [ ! -f "$webp_version" ]; then
{ cwebp -quiet -lossless {} -o {}.webp; }
fi'
done < "$input"

14
crons/jpg-png-cron.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/bash
## cronjob to optimize PNG/JPG images
## images path are listed in sites.csv
## written by VirtuBox (https://virtubox.net)
input="sites.csv"
while IFS='|' read -r f1 f2
do
# optimize jpg images created in the last 24 hours
find "$f2" -ctime 0 -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 jpegoptim --preserve --quiet --strip-all -m82 >> /var/log/jpg-png-cron.log
# optimize png images created in the last 24 hours
find "$f2" -ctime 0 -type f -iname '*.png' -print0 | xargs -0 optipng -o7 -strip all -quiet >> /var/log/jpg-png-cron.log
done < "$input"

25
crons/webp-cron.sh Normal file
View File

@ -0,0 +1,25 @@
#!/bin/bash
## cronjob to convert PNG/JPG images to WebP
## images path are listed in sites.csv
## written by VirtuBox (https://virtubox.net)
input="sites.csv"
while IFS='|' read -r f1 f2
do
# convert png created in the last 24 hours to webp
{
find "$f2" -ctime 0 -type f -iname "*.png" -print0 | xargs -0 -I {} \
bash -c 'webp_version="$0".webp
if [ ! -f "$webp_version" ]; then
{ cwebp -quiet -z 9 -mt {} -o {}.webp; }
fi'
# convert jpg created in the last 24 hours to webp
find "$f2" -ctime 0 -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 -I {} \
bash -c 'webp_version="$0".webp
if [ ! -f "$webp_version" ]; then
{ cwebp -quiet -q 82 -mt {} -o {}.webp; }
fi'
} >> /var/log/webp-cron.log
done < "$input"

View File

@ -7,8 +7,6 @@ CGREEN="${CSI}1;32m"
# Welcome # Welcome
################################## ##################################
echo "" echo ""
echo "Welcome to optimize.sh image optimization script." echo "Welcome to optimize.sh image optimization script."
echo "" echo ""
@ -30,22 +28,22 @@ while [[ $webp != "y" && $webp != "n" ]]; do
done done
# optimize jpg # optimize jpg
jpgoptimize() { jpg_optimize() {
find $1 -iname "*.jpg" -o -iname "*.jpeg" -print0 | xargs -0 jpegoptim --preserve --quiet --strip-all -m82 find "$1" -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 jpegoptim --preserve --quiet --strip-all -m82
echo -ne " jpg optimization [${CGREEN}OK${CEND}]\\r" echo -ne " jpg optimization [${CGREEN}OK${CEND}]\\r"
echo -ne "\\n" echo -ne "\\n"
} }
# optimize png # optimize png
pngoptimize() { png_optimize() {
find $1 -iname '*.png' -print0 | xargs -0 optipng -o7 -strip all -quiet find "$1" -type f -iname '*.png' -print0 | xargs -0 optipng -o7 -strip all -quiet
echo -ne " png optimization [${CGREEN}OK${CEND}]\\r" echo -ne " png optimization [${CGREEN}OK${CEND}]\\r"
echo -ne "\\n" echo -ne "\\n"
} }
# convert png to webp # convert png to webp
webpconvert() { webp_convert_images() {
find $1 -iname "*.png" -print0 | xargs -0 -I {} \ find "$1" -type f -iname "*.png" -print0 | xargs -0 -I {} \
bash -c 'webp_version="$0".webp bash -c 'webp_version="$0".webp
if [ ! -f "$webp_version" ]; then if [ ! -f "$webp_version" ]; then
{ cwebp -quiet -z 9 -mt {} -o {}.webp; } { cwebp -quiet -z 9 -mt {} -o {}.webp; }
@ -55,7 +53,7 @@ fi'
echo -ne "\\n" echo -ne "\\n"
# convert jpg to webp # convert jpg to webp
find $1 -iname "*.jpg" -o -iname "*.jpeg" -print0 | xargs -0 -I {} \ find "$1" -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 -I {} \
bash -c 'webp_version="$0".webp bash -c 'webp_version="$0".webp
if [ ! -f "$webp_version" ]; then if [ ! -f "$webp_version" ]; then
{ cwebp -quiet -q 82 -mt {} -o {}.webp; } { cwebp -quiet -q 82 -mt {} -o {}.webp; }
@ -67,15 +65,15 @@ fi'
if [ "$jpg" = "y" ] if [ "$jpg" = "y" ]
then then
jpgoptimize jpg_optimize "$@"
fi fi
if [ "$png" = "y" ] if [ "$png" = "y" ]
then then
pngoptimize png_optimize "$@"
fi fi
if [ "$webp" = "y" ] if [ "$webp" = "y" ]
then then
webpconvert webp_convert_images "$@"
fi fi
# We're done ! # We're done !