zoukankan      html  css  js  c++  java
  • 为uploads文件夹瘦身

    学校某学院的网站,上传的图片都很大,一般都是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。



  • 相关阅读:
    C#限速下载网络文件
    MVC与WebApi中的异常统一处理
    Javascript闭包(Closure)
    HTML转义字符 Unicode和CSS伪类介绍
    .NET通用工具——正则表达式
    C#的格式化(进制转换|位运算)
    javascript中的类型转换(进制转换|位运算)
    MVC中的七层架构
    Excel中的常用功能
    jQuery基础
  • 原文地址:https://www.cnblogs.com/yuepeng/p/2366161.html
Copyright © 2011-2022 走看看