nginx proxy_cache 일괄 청소 스 크 립 트

선언: 이전에 공식 nginx 를 사 용 했 습 니 다. proxy_cache 는 CDN 정적 캐 시 로 서 이 모듈 이 캐 시 를 청소 하 는 것 이 큰 문제 라 는 것 을 알 게 되 었 습 니 다. 하나의 url 만 삭제 할 수 있 습 니 다. 이 를 위해 캐 시 를 대량으로 제거 하 는 발 스 크 립 트 를 썼 습 니 다.
주요 기능:
1. 파일 형식 으로 정리
2. 구체 적 인 파일 이름 으로 정리
3. 사이트 디 렉 터 리 에 따라 정리 
   다음은 bash. 셸 스 크 립 트 코드 
#!/bin/bash
#Email:[email protected]
#Auto Clean Nginx Proxy_Cache Shell Scripts
#Aunthor:sun~shell
#Date:2017-02-23
echo -e "

" echo -n -e "\e[35;1m Nginx Proxy_cache ( : Tab !)\e[0m\e[34;5m:\e[0m" read -e path CACHE_DIR=$path echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -n -e "\e[32;1m
1. \t2. \t3.
:" read action case $action in 1) echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -n -e "\e[34;1m ( )\e[0m\e[34;5m:\e[0m" read -a FILE for i in `echo ${FILE[*]}|sed 's/ /
/g'` do grep -r -a \.$i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt for j in `cat /tmp/cache_list.txt` do rm -rf $j echo "$i $j !" done done ;; 2) echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -n -e "\e[33;1m ( )\e[0m\e[34;5m:\e[0m" read -a FILE for i in `echo ${FILE[*]}|sed 's/ /
/g'` do grep -r -a $i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt for j in `cat /tmp/cache_list.txt` do rm -rf $j echo "$i $j !" done done ;; 3) echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -e "\e[32;1m----------------------------------------------------------------\e[0m" echo -n -e "\e[33;1m :
1. store :test.dd.com/data/upload/shop/store
2. shop :test.dd.com/data/upload/shop\e[0m
" echo -n -e "\e[34;1m \e[0m\e[34;5m:\e[0m" read -a FILE for i in `echo ${FILE[*]}|sed 's/ /
/g'` do grep -r -a "$i" ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt for j in `cat /tmp/cache_list.txt` do rm -rf $j echo "$i $j !" done done ;; *) echo " , " ;; esac

좋은 웹페이지 즐겨찾기