一:脚本
a shell版 #!/bin/bash #Date: 2013-06-27 #Auther: budong ####################################################### #说明: # 1.本脚本用于清除nginx缓存文件 # 2.查看你的nginx是根据什么作为key来hash的,我的设置是 proxy_cache_key $uri$is_args$args; # 因此nginx会根据$uri$is_args$args作为key进行hash,因此可以模拟nginx对一个key进行再 # hash找到相应的文件路径,删除(具体可随意找个缓存文件 more 一下看看) # 3.缓存设置 proxy_cache_path /data/mumayi/cache levels=1:2 keys_zone=cache_one:6000m inactive=15d max_size=200g; # 根据相应的配置,请做相应修改测试 # 4.uri格式请按照同级目录下rm_apk_list.txt中填写 ##################################################### while read -r line do md5uri=`echo -n $line | md5sum | awk '{ print $1 }'` filepath=`echo "$md5uri" | awk '{print "/data/mumayi/cache/"substr($0,length($0),1)"/"substr($0,length($0)-2,2)"/"$0}'` rm -rf $filepath done < /root/sbin/rm_apk_list.txt b python版 #!/usr/local/python2.7/bin/python2.7 # -*- coding:utf8 -*- #Date: 2013-06-26 #Name: budong ''' 说明: .本脚本用于清除nginx缓存文件 .查看你的nginx是根据什么作为key来hash的,我的设置是 proxy_cache_key $uri$is_args$args; 因此nginx会根据$uri$is_args$args作为key进行hash,因此可以模拟nginx对一个key进行再 hash找到相应的文件路径,删除(具体可随意找个缓存文件 more 一下看看) .缓存设置 proxy_cache_path /data/mumayi/cache levels=1:2 keys_zone=cache_one:6000m inactive=15d max_size=200g; 根据相应的配置,请做相应修改测试 .uri格式请按照同级目录下rm_apk_list.txt中填写 ''' import os import sys try: from hashlib import md5 except: from md5 import md5 reload( sys ) sys.setdefaultencoding('utf-8') PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) URI_FILE = ''.join([PROJECT_ROOT,'/rm_apk_list.txt']) def nginx_purge(uri): m = md5() m.update("%s" % uri) md5uri=m.hexdigest() md5uri_len=len(md5uri) dir1=md5uri[md5uri_len-1:] dir2=md5uri[md5uri_len-3:md5uri_len-1] file_path=("/data/mumayi/cache/%s/%s/%s" % (dir1, dir2, md5uri)) if os.path.exists(file_path): os.remove(file_path) with open("%s" % URI_FILE,'r') as uri_file: for line in uri_file: line = line.rstrip() nginx_purge(line) c ngx_cache_purge不做考虑,据说已经停止开发了 说明: 我的 /root/sbin/rm_apk_list.txt 文件 [root@budong ~]# cat /root/sbin/rm_apk_list.txt /2013/08/15/38/382272/shuazanzhushou_V1.8.16_mumayi_95a91.apk 查看一个缓存对象,应该有些明白了吧 [root@budong ~]# more /data/mumayi/cache/0/00/db9327b60a6b3c164516117f90d9d000 塑? KEY: /2013/10/23/43/432816/dinuochongwuDinoPets_V1.1.1_mumayi_0b399.apk HTTP/1.1 200 OK Server: nginx/1.2.6 Date: Sun, 15 Dec 2013 19:51:22 GMT Content-Type: application/vnd.android.package-archive Content-Length: 37466293 Connection: close Last-Modified: Wed, 23 Oct 2013 06:15:06 GMT Expires: Wed, 18 Dec 2013 17:35:07 GMT Cache-Control: max-age=604800 Accept-Ranges: bytes 二:是时候结束了自言自语:
(责任编辑:IT) |