linux图片压缩
命令行工具:jpegoptim和OptiPNG
- jpegoptim:它是一个优化/压缩JPEG文件而不降低其质量的工具。
- OptiPNG:它是一个命令行工具,用于优化PNG图像到更小的尺寸,而不丢失任何信息
先安装EPEL仓库扩充软件库:
yum install epel-release
1 .安装jpegoptim
Ubuntu 安装
sudo apt-get install jpegoptimCentos
yum install jpegoptim2.安装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