这么优质的方法就跟有需要的讲解下方法吧!那么接下来就开启讲解之路了哦!
本教程以宝塔面板为例!首先登录服务器,先看下文件大小,哪些占用比较大。(测试系统为 centos 7.9)
如果不熟悉linux,可优先做系统快照或镜像
1、安装jpegoptim压缩(用于压缩jpg),optipng(用于压缩png),参数很多详细度年jpegoptim参数即可
- yum install jpegoptim
上面两条命令分别执行,显示安装成功后继续用命令开始批量压缩图片, 本站使用的命令为如下
- yum install optipng
那么如何在压缩率上面指定尺寸大小呢,接下来命令如下:
- find /www/wwwroot/网站目录名/d/file -name '*.jpg' | xargs jpegoptim --strip-all --max=50%
- find /www/wwwroot/网站目录名/d/upload -name '*.jpg' | xargs jpegoptim --strip-all --max=50%
那么如何排除100Kb以下的图片呢
- find /www/wwwroot/网站目录/d/file -name '*.jpg' | xargs jpegoptim --strip-all --max=50%
- find /www/wwwroot/网站目录/d/file -name '*jpeg' | xargs jpegoptim --strip-all --max=50%
如果你想指定只处理当天的JPEG图片,你可以在find命令中添加一个时间条件。find命令的-newer选项可以用来检查文件的最后修改时间。以下是一个示例命令:
- find /www/wwwroot/网站目录/d/file -name '*jpg' -size +100k | xargs jpegoptim --strip-all --max=50%
- find /www/wwwroot/网站目录/d/file -name '*jpeg' -size +100k | xargs jpegoptim --strip-all --max=50%
在上述命令中,-newermt $(date +%Y-%m-%d)表示只选择最后修改时间在当前日期(不包括今天之前的时间)的文件。这样可以确保只处理当天的JPEG图片。请注意,$(date +%Y-%m-%d)表示当前日期,如果你想指定其他日期,可以相应地调整日期格式和日期值。
- find /www/wwwroot/网站目录/d/file -name '*jpeg' -size +100k -newermt $(date +%Y-%m-%d) | xargs jpegoptim --strip-all --max=50%
- find /www/wwwroot/网站目录/d/file -name '*jpg' -size +100k -newermt $(date +%Y-%m-%d) | xargs jpegoptim --strip-all --max=50%
如果指定一个星期的呢,那就这么操作
- find /www/网站目录/d/file -name '*jpg' -size +100k -newermt $(date -d "1 week ago" +%Y-%m-%d) -print0 | xargs -0 jpegoptim --strip-all --max=50%
那么如何压缩png的图片呢
- find /www/wwwroot/www.meiweny.cn/d/file -name '*jpeg' -size +100k -newermt $(date -d "1 week ago" +%Y-%m-%d) -print0 | xargs -0 jpegoptim --strip-all --max=50%
find命令的参数解释如下:
- find /www/wwwroot/网站目录/d/file -name '*.png' | xargs optipng -o7
/www/wwwroot/www.meiweny.cn/d/file:这是要查找的目录。
-name '*jpeg':此选项表示查找文件名以.jpeg结尾的文件。
-size +100k:此选项表示查找文件大小大于100KB的文件。
-newermt $(date -d "1 week ago" +%Y-%m-%d):此选项表示查找修改时间晚于"一周前"的文件。这里的"一周前"是相对于当前日期计算的。
-print0:此选项使得find命令将找到的文件名以NULL字符( )作为分隔符输出,这样可以处理文件名中包含空格或其他特殊字符的情况。
| xargs -0 jpegoptim --strip-all --max=50%:这部分将find命令的输出作为xargs命令的输入,并执行jpegoptim命令来优化找到的JPEG文件。
上述命令会找到指定目录下所有PNG图片,并使用optipng进行压缩。-o7参数表示使用最高的优化级别。你可以根据需要调整优化级别。
实际效果直接压缩一半大小,与设置的压缩率基本一致,
实际项目中,按照保证清晰度和尺寸需求原则,越小越好,设置对应的压缩比即可。压缩执行效率以服务器的优劣有所差异。
实测效果还是不错的!基本能达到设定的百分之50压缩要求!给图片极大的廋身了!同时也减少了磁盘占用空间!小水管小磁盘的福利专属!
注:png压缩会很慢,执行命令时请把网站目录改为你自己的,切记切记!