爲了實現項目中圖片資源上傳後,可以自動等比壓縮,以加快用戶訪問速度,發現了此項技術Inotify,關於此項技術的具體介紹,這裏不再囉嗦,百度一搜有很多介紹。
這裏舉單例介紹了Inotifywait的使用
vi /tmp/monitor_jpg.sh #!/bin/bash export LANG=C inotifywait -mrq --event create,modify /data/jpg | while read event do newfile=`ls -ltc /data/jpg | grep -v total | head -n 1 | awk '{print $9}'` convert -quality 25% /data/jpg/$newfile /data/conjpg/$newfile done #wq保存退出 #權限更改,並放入後臺進程 chmod 700 monitor_jjpg.sh nohup /bin/bash /tmp/monitor_jpg.sh &
以上腳本的目的是,當監控到/data/jpg目錄內有圖片被改動或者創建時(根據文件修改或創建時間觸發事件),將使用Imagemagick軟件對圖片進行等比壓縮(大約壓縮1/3大小)到目錄/data/conjpg/目錄中,以同名文件進行保存。
在網站需要引用到圖片的時候,就可以引用/data/conjpg裏面的圖片,大量節省網絡帶寬資源。
關於Inotify功能,此處用於的只是冰山一腳,合理的使用,也可以實現項目的自動化發佈與回滾,而不再人工參與發佈過程