为了实现项目中图片资源上传后,可以自动等比压缩,以加快用户访问速度,发现了此项技术Inotify,关于此项技术的具体介绍,这里不再啰嗦,百度一搜有很多介绍。
这里举单例介绍了Inotifywait的使用
vi /tmp/monitor_jpg.sh#!/bin/bashexport LANG=Cinotifywait -mrq --event create,modify /data/jpg | while read eventdonewfile=`ls -ltc /data/jpg | grep -v total | head -n 1 | awk '{print $9}'`convert -quality 25% /data/jpg/$newfile /data/conjpg/$newfiledone#wq保存退出#权限更改,并放入后台进程chmod 700 monitor_jjpg.shnohup /bin/bash /tmp/monitor_jpg.sh &
以上脚本的目的是,当监控到/data/jpg目录内有图片被改动或者创建时(根据文件修改或创建时间触发事件),将使用Imagemagick软件对图片进行等比压缩(大约压缩1/3大小)到目录/data/conjpg/目录中,以同名文件进行保存。
在网站需要引用到图片的时候,就可以引用/data/conjpg里面的图片,大量节省网络带宽资源。
关于Inotify功能,此处用于的只是冰山一脚,合理的使用,也可以实现项目的自动化发布与回滚,而不再人工参与发布过程