linux图片压缩

piaoling  2023-08-10 17:48:37

命令行工具:jpegoptim和OptiPNG


  • jpegoptim:它是一个优化/压缩JPEG文件而不降低其质量的工具。
  • OptiPNG:它是一个命令行工具,用于优化PNG图像到更小的尺寸,而不丢失任何信息

先安装EPEL仓库扩充软件库:

yum install epel-release


1 .安装jpegoptim

Ubuntu 安装


sudo apt-get install jpegoptim
Centos



yum install jpegoptim
2.安装OptiPNG



yum install optipng
sudo apt-get install optipng




========== 图片压缩===============
#安装epel源
yum -y install epel-release

#安装OptiPNG
yum -y install optipng

#安装jpegoptim
yum -y install jpegoptim


#下载批量压缩脚本
wget https://raw.githubusercontent.com/helloxz/shell/master/img_compress.sh
#执行shell脚本

sudo bash /home/pxev/img_compress.sh /var/www/html/pxcloud/media/newfind_2022

bash img_compress.sh /data/wwwroot/imgurl


bash img_compress.sh /data/wwwroot/imgurl
其中/data/wwwroot/imgurl修改为自己的图片目录(需要使用绝对路径),执行的效果如下:


crontab定时执行

#先将脚本赋予执行权限
chmod +x img_compress.sh

#添加定时任务
crontab -e

#将内容复制到最后并保存(每小时执行一次)
*/60  * * * * /yourpath/img_compress.sh /data/wwwroot/imgurl > /dev/null

#重载crontab
service crond reload

复制
/yourpath/img_compress.sh为脚本的绝对路径
/data/wwwroot/imgurl为图片的绝对路径



img_compress.sh 脚本内容
===================================

#!/bin/bash

#导入环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
export PATH

#设置图片绝对路径
#imgpath='/var/www/html/pxcloud/media/newfind_2022'
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 {} ;

    #使用optipng压缩.png和.bmp
    #find $1  -size +$2 -name '*.png' -exec optipng -o3 {} ;
    #find $1  -size +$2 -name '*.bmp' -exec optipng -o3 {} ;

    #使用jpegoptim压缩.jpg
    find $1 -size +$2 -name '*.jpg' -exec jpegoptim -m 20 {} ;
    find $1 -size +$2 -name '*.jpeg' -exec jpegoptim -m 20 {} ;
    find $1 -size +$2 -name '*.JPG' -exec jpegoptim -m 20 {} ;
    find $1 -size +$2 -name '*.JPEG' -exec jpegoptim -m 20 {} ;
}

#调用压缩函数
com_img $imgpath $min_size





类别 :  默认(739)  |  浏览(589)  |  评论(0)
发表评论(评论将通过邮件发给作者):

Email: