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