add daily cronjob instructions & optimize script
This commit is contained in:
parent
b1b012ab10
commit
d41b486bf3
16
README.md
16
README.md
|
@ -65,10 +65,24 @@ git -C $HOME/.img-optimize pull
|
||||||
source .bashrc
|
source .bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Setup daily cronjob
|
||||||
|
|
||||||
|
You copy the scripts to /etc/cron.daily :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp $HOME/.img-optimize/crons/jpg-png-cron.sh /etc/cron.daily/jpg-png-cron
|
||||||
|
cp $HOME/.img-optimize/crons/jpg-png-cron.sh /etc/cron.daily/webp-cron
|
||||||
|
|
||||||
|
chmod +x /etc/cron.daily/jpg-png-cron
|
||||||
|
chmod +x /etc/cron.daily/webp-cron
|
||||||
|
```
|
||||||
|
|
||||||
|
Then just edit your websites path set with the variables `sites` at the beginning of the cron scripts.
|
||||||
|
|
||||||
### Warning
|
### Warning
|
||||||
|
|
||||||
Conversion process can take a while, you can use `tmux` to launch the script and be able to close your ssh connection without interrupting conversion. Then just use `tmux attach` to login back in your tmux session.
|
Conversion process can take a while, you can use `tmux` to launch the script and be able to close your ssh connection without interrupting conversion. Then just use `tmux attach` to login back in your tmux session.
|
||||||
|
|
||||||
### Credits
|
### Credits
|
||||||
|
|
||||||
WebP conversion script is inspired by this [DigitalOcean Community Tutorial](https://www.digitalocean.com/community/tutorials/how-to-create-and-serve-webp-images-to-speed-up-your-website)
|
WebP conversion script was inspired by this [DigitalOcean Community Tutorial](https://www.digitalocean.com/community/tutorials/how-to-create-and-serve-webp-images-to-speed-up-your-website)
|
|
@ -4,11 +4,13 @@
|
||||||
## images path are listed in sites.csv
|
## images path are listed in sites.csv
|
||||||
## written by VirtuBox (https://virtubox.net)
|
## written by VirtuBox (https://virtubox.net)
|
||||||
|
|
||||||
input="sites.csv"
|
sites="/var/www/yoursite.tld/images \
|
||||||
while IFS='|' read -r f1 f2
|
/var/www/yourothersite.tld/content/images \
|
||||||
do
|
/var/www/yourthirdsite.tld/wp-content/uploads"
|
||||||
|
|
||||||
|
for site in $sites; do
|
||||||
# optimize jpg images created in the last 24 hours
|
# 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
|
find "$site" -ctime 0 -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 jpegoptim --preserve --strip-all -m82 >> /var/log/jpg-png-cron.log 2>&1
|
||||||
# optimize png images created in the last 24 hours
|
# 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
|
find "$site" -ctime 0 -type f -iname '*.png' -print0 | xargs -0 optipng -o7 -strip all >> /var/log/jpg-png-cron.log 2>&1
|
||||||
done < "$input"
|
done
|
|
@ -1,2 +0,0 @@
|
||||||
1|/var/www/yoursite.tld/htdocs/wp-content/uploads
|
|
||||||
2|/var/www/yourothersite.tld/htdocs/wp-content/uploads
|
|
|
|
@ -4,22 +4,18 @@
|
||||||
## images path are listed in sites.csv
|
## images path are listed in sites.csv
|
||||||
## written by VirtuBox (https://virtubox.net)
|
## written by VirtuBox (https://virtubox.net)
|
||||||
|
|
||||||
input="sites.csv"
|
sites="/var/www/yoursite.tld/images \
|
||||||
while IFS='|' read -r f1 f2
|
/var/www/yourothersite.tld/content/images \
|
||||||
do
|
/var/www/yourthirdsite.tld/wp-content/uploads"
|
||||||
|
|
||||||
|
for site in $sites; do
|
||||||
# convert png created in the last 24 hours to webp
|
# convert png created in the last 24 hours to webp
|
||||||
{
|
{
|
||||||
find "$f2" -ctime 0 -type f -iname "*.png" -print0 | xargs -0 -I {} \
|
find "$site" -ctime 0 -type f -iname "*.png" -print0 | xargs -0 -I {} \
|
||||||
bash -c 'webp_version="$0".webp
|
bash -c '[ ! -f "{}.webp" ] && { cwebp -z 9 -mt {} -o {}.webp; }' >> /var/log/webp-cron.log 2>&1
|
||||||
if [ ! -f "$webp_version" ]; then
|
|
||||||
{ cwebp -quiet -z 9 -mt {} -o {}.webp; }
|
|
||||||
fi'
|
|
||||||
# convert jpg created in the last 24 hours to webp
|
# 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 {} \
|
find "$site" -ctime 0 -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 -I {} \
|
||||||
bash -c 'webp_version="$0".webp
|
bash -c '[ ! -f "{}.webp" ] && { cwebp -q 82 -mt {} -o {}.webp; }'
|
||||||
if [ ! -f "$webp_version" ]; then
|
} >> /var/log/webp-cron.log 2>&1
|
||||||
{ cwebp -quiet -q 82 -mt {} -o {}.webp; }
|
done
|
||||||
fi'
|
|
||||||
} >> /var/log/webp-cron.log
|
|
||||||
done < "$input"
|
|
||||||
|
|
||||||
|
|
|
@ -65,10 +65,24 @@ git -C $HOME/.img-optimize pull
|
||||||
source .bashrc
|
source .bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Setup daily cronjob
|
||||||
|
|
||||||
|
You copy the scripts to /etc/cron.daily :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp $HOME/.img-optimize/crons/jpg-png-cron.sh /etc/cron.daily/jpg-png-cron
|
||||||
|
cp $HOME/.img-optimize/crons/jpg-png-cron.sh /etc/cron.daily/webp-cron
|
||||||
|
|
||||||
|
chmod +x /etc/cron.daily/jpg-png-cron
|
||||||
|
chmod +x /etc/cron.daily/webp-cron
|
||||||
|
```
|
||||||
|
|
||||||
|
Then just edit your websites path set with the variables `sites` at the beginning of the cron scripts.
|
||||||
|
|
||||||
### Warning
|
### Warning
|
||||||
|
|
||||||
Conversion process can take a while, you can use `tmux` to launch the script and be able to close your ssh connection without interrupting conversion. Then just use `tmux attach` to login back in your tmux session.
|
Conversion process can take a while, you can use `tmux` to launch the script and be able to close your ssh connection without interrupting conversion. Then just use `tmux attach` to login back in your tmux session.
|
||||||
|
|
||||||
### Credits
|
### Credits
|
||||||
|
|
||||||
WebP conversion script is inspired by this [DigitalOcean Community Tutorial](https://www.digitalocean.com/community/tutorials/how-to-create-and-serve-webp-images-to-speed-up-your-website)
|
WebP conversion script was inspired by this [DigitalOcean Community Tutorial](https://www.digitalocean.com/community/tutorials/how-to-create-and-serve-webp-images-to-speed-up-your-website)
|
10
optimize.sh
10
optimize.sh
|
@ -128,10 +128,7 @@ if [ "$WEBP_OPTIMIZATION" = "y" ]; then
|
||||||
echo -ne ' png to webp conversion [..]\r'
|
echo -ne ' png to webp conversion [..]\r'
|
||||||
cd $IMG_PATH || exit 1
|
cd $IMG_PATH || exit 1
|
||||||
find . -type f -iname "*.png" -print0 | xargs -0 -I {} \
|
find . -type f -iname "*.png" -print0 | xargs -0 -I {} \
|
||||||
bash -c 'webp_version="$0".webp
|
bash -c '[ ! -f "{}.webp" ] && { cwebp -z 9 -mt {} -o {}.webp; }'
|
||||||
if [ ! -f "$webp_version" ]; then
|
|
||||||
{ cwebp -z 9 -mt {} -o {}.webp; }
|
|
||||||
fi'
|
|
||||||
|
|
||||||
echo -ne " png to webp conversion [${CGREEN}OK${CEND}]\\r"
|
echo -ne " png to webp conversion [${CGREEN}OK${CEND}]\\r"
|
||||||
echo -ne '\n'
|
echo -ne '\n'
|
||||||
|
@ -140,10 +137,7 @@ if [ "$WEBP_OPTIMIZATION" = "y" ]; then
|
||||||
echo -ne ' jpg to webp conversion [..]\r'
|
echo -ne ' jpg to webp conversion [..]\r'
|
||||||
cd $IMG_PATH || exit 1
|
cd $IMG_PATH || exit 1
|
||||||
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 -I {} \
|
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -print0 | xargs -0 -I {} \
|
||||||
bash -c 'webp_version="$0".webp
|
bash -c '[ ! -f "{}.webp" ] && { cwebp -q 82 -mt {} -o {}.webp; }'
|
||||||
if [ ! -f "$webp_version" ]; then
|
|
||||||
{ cwebp -q 82 -mt {} -o {}.webp; }
|
|
||||||
fi'
|
|
||||||
|
|
||||||
echo -ne " jpg to webp conversion [${CGREEN}OK${CEND}]\\r"
|
echo -ne " jpg to webp conversion [${CGREEN}OK${CEND}]\\r"
|
||||||
echo -ne '\n'
|
echo -ne '\n'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user