调用OptiPNG、jpegoptim工具自动完成批量压缩图片
支持格式
支持 .jpg/.jpeg/.bmp/.png 格式图片
先使用 find 命令查找指定目录图片(同时对图片大小和时间进行了筛选)
根据不同的图片格式调用不同的压缩工具,配合crontab定时任务工具自动批量压缩。
安装依赖
脚本需要调用OptiPNG和jpegoptim这两个工具,安装OptiPNG、jpegoptim是必须的
1
2
| apt install optipng
apt install jpegoptim
|
脚本代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| #!/bin/bash
########## name:图片压缩脚本 ##########
########## author:xiaoz<[email protected]> ##########
########## Blog:https://www.xiaoz.me/ ##########
########## update:2019-08-23 ##########
#导入环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
export PATH
#设置图片绝对路径
imgpath=''
#最低图片大小,高于此大小的图片才会进行压缩
min_size='100k'
#判断图片路径是否为空
if [ -z $imgpath ]
then
imgpath=$1
fi
if [ -z $imgpath ]
then
echo 'The image path cannot be empty!'
exit
fi
#压缩png/jpg/bmp图像
function com_img(){
#使用optipng压缩.png和.bmp
find $1 -mmin -60 -size +$2 -name '*.png' -exec optipng -o3 {} \;
find $1 -mmin -60 -size +$2 -name '*.bmp' -exec optipng -o3 {} \;
#使用jpegoptim压缩.jpg
find $1 -mmin -60 -size +$2 -name '*.jpg' -exec jpegoptim -m 80 {} \;
find $1 -mmin -60 -size +$2 -name '*.jpeg' -exec jpegoptim -m 80 {} \;
}
#调用压缩函数
com_img $imgpath $min_size
|
调用格式
1
| bash /path/img_compress.sh /path/images_folder
|
源码:https://github.com/helloxz/shell/blob/master/img_compress.sh