nginx根據日誌清除快取指令碼

2021-07-06 06:19:49 字數 1221 閱讀 9241

最近要管理乙個新**

www.nehosoft.com,線上前端nginx服務用來做後端服務的快取**伺服器,但後端伺服器在對使用者上傳的進行處理以後,有時會出現無法顯示等問題,當出現這種情況的時候,該,我們就不希望被nginx快取,如果被快取,則要被清除。

分別用兩種不同的指令碼方案來解決:

#!/bin/bash

cache_path=/home/nginx/proxy_cache_dir

logfile=/home/nginx/logs/access.log

datetime=`date +%d/%b/%y`

logdir=/home/nginx/logs

#查詢出所有當天nginx日誌中狀態碼為200,大小小於100位元組且被快取命中的url,並將其儲存至url.list

grep "$datetime" $logfile | awk '' | sort -n | uniq > url.list

for i in `cat url.list`

do#根據nginx日誌中過濾的url查詢快取目錄,對快取中的url作處理後,儲存到cache.list檔案中

grep -a -r "$i" $cache_path| strings |grep "key: " | awk -f'key: ' '' | grep [a-za-z0-9]$ > cache.list

#再次對url進行處理

sed -i "s#1img.looklook.cn/#1img.looklook.cn:7086/purge/#" cache.list

#清除快取

for url in `cat cache_list.txt`

docurl "$url" | tee -a $logdir/purgelog/$(date +%y%m%d).log

done

done

2.將nginx日誌複製為乙個副本,然後通過新的nginx日誌跟副本的比較,對變化的一部分直接做awk處理

#!/bin/bash

f=/home/nginx/logs/access.log

o=/home/nginx/logs/old.log

if [ ! -f $o ]

then

cp $f $o

exit 3

fidiff $f $o | \

awk '' | sort | uniq | \

awk ''

cat $f > $o

Shell指令碼批量清除Nginx快取

前言 隨著整個網際網路的發展,產生了無數大大小小的 隨之而來使用者對 ui和速度體驗也在日益加強,對企業或者個人來說,贏得使用者體驗也就意味著贏得先機。那今天我們在這裡針對 速度這方面來一起交流,提高 速度對於運維工程師 程式設計師來說變得至關重要。運維工程師首先得在日常 運維中發現影響 速度的各種...

Shell指令碼批量清除Nginx快取

前言 隨著整個網際網路的發展,產生了無數大大小小的 隨之而來使用者對 ui和速度體驗也在日益加強,對企業或者個人來說,贏得程式設計客棧使用者體驗也就意味著贏得先機。那今天我們在這裡針對 速度這方面來一起交流,提高 速度對於運維工程師 程式設計師來說變得至關重要。運維工程師首先得在日常 運維中發現影響...

shell指令碼實踐清除日誌

在生產環境中日誌是運維人員了解和分析生產環境的第一手資料,但是日誌資訊的內容量相當龐大,特別在公有雲環境中執行的業務系統,一般系統盤在20g 40g左右,如果沒有合理的日誌管理方案,很容易出現儲存空間不夠的現象,總結了以下幾種日誌處理的簡單方式,作為自己的實踐筆記,同時和大家一起交流學習。1 部分日...