学校某学院的网站,上传的图片都很大,一般都是2M左右,甚至还有10M的。估计是使用了比较好的相机拍摄的。而且不知道什么原因,总有一些重名的图片,大小都一样,只是名字有(1),(2)之分。存放图片的uploads文件夹,总共有2G多。每次备份,都要占用很多时间,在服务器上也很占空间。 下面通过两个步骤,来为uploads瘦身。 第一步:删除重复的文件。 网站引用这些文件,都是在新闻中直接存储文件的全路径。只要把文件名遍历一遍,如果在数据库导出的sql文件中没有出现,就直接删掉。剩下的就是正在使用的图片。 编写脚本: #!/bin/bash for i in ./uploads/* do grep -q "$i" a.sql if [ $? -ne 0 ];then rm -f "$i" fi done 要注意,有些文件名是带有空格的,必须用引号把$i括起来。 经过这一步处理,原来2.2G的文件夹变成了1.4G。少了800M。
第二步:对大图片进行质量压缩。 因为图片大小不方便进行缩放,只能对图片质量进行压缩了。网站上2M的图片,即便压缩到30%,其实显示起来,和原来也没有什么明显不同。毕竟原图片质量太高了。要对图片进行处理,需要安装imageMagick。直接在centos上用软件管理器进行安装即可。 安装好了之后,可以执行以下脚本: #!/bin/bash for i in ./uploads/* do convert -quality 30 "$i" "$i"_resized.jpg rm "$i" mv "$i"_resized.jpg "$i" done
最后,uploads只剩下了233M。 (责任编辑:IT) |