Linux 图片批量压缩工具 ImageMagick

环境 CentOS
安装命令:yum install ImageMagick


convert压缩命令

通过正则查找当前目录下所有大于 50k 的图片,进行等比例50%的缩放;

find ./ -regex '.*\(jpg\|JPG\|png\|PNG\|jpeg\)' -size +50k -exec convert -resize 50%x50% {} {} \;

通过正则查找当前目录下所有大于 50k 的图片,进行像素大小控制,convert 是会自动按照最大尺寸等比例进行缩小的;

find ./ -regex '.*\(jpg\|JPG\|png\|PNG\|jpeg\)' -size +50k -exec convert -resize 500x500 {} {} \;

如果想降低图片的质量,可以用 convert 的 -quality 参数,质量值为 0-100 之间的数值,数字越大,质量越好,一般指定 70-80 ,基本上看不出前后的差别

convert -resize 500x500 -quality 75 xxx.jpg xxx.png 

通过 crontab 进行定时图片压缩

举例:对 /www/images/ 文件夹下的所有图片每 5 分钟进行一次图片压缩处理;

  • /www/images/ 下新建 convert.sh 脚本,内容:
find /www/images/ -regex '.*\(jpg\|JPG\|png\|PNG\|jpeg\)' -size +50k -exec convert -resize 50%x50% {} {} \;
  • 通过 crontab -e 在文件后添加:
*/5 * * * * /www/images/convert.sh

写在最后:
当然图片压缩理应在上传时处理,不过在紧急情况下,此方法也能一解燃眉之急;

-EOF-

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容