nginx 캐 시 간단 한 스 크 립 트 일괄 삭제

전단 캐 시 스 크 립 트 간단하게 지우 기
환경 1: nginx 는 CDN 전단 캐 시 로 서 각 지역 캐 시 에 있 는 모든 도 메 인 이름 의 그림 파일 캐 시 를 삭제 합 니 다.
스 크 립 트: clear. sh
#!/bin/sh 
#---CDN cache host list--- 
cat >>/tmp/iplist.txt <<EOF
61.x.x.x 
45.x.x.x 
122.x.x.x 
EOF 
#---purge cache script send to all CDN server--- 
for ip in `cat /tmp/iplist.txt` 
do 
  ping -w 1 -c 1 $ip >/dev/null 
 if [ $? -eq 0 ] 
  then 
    scp /tmp/nginx-clear.sh root@$ip:/tmp 
    ssh $ip "sh  /tmp/nginx-clear.sh &&rm -f /tmp/nginx-clear.sh" 
  else 
     echo "$ip host is not exist or network is no connect,continue next host...." 
  fi 
done

인 용 된 스 크 립 트 nginx - clear. sh
 
 
#!/bin/sh 
#-----clear jpg type cache---- 
cache_path="/data/proxy_cache_dir"
grep -a -r jpg $cache_path |strings |awk -F: '{print $3}' |sed 's/^ //g'| awk 'BEGIN{FS=OFS="/"}$1="http://"$1OFS"purge"' >>/tmp/cachelist.txt 
localip= `ifconfig eth0|awk -F'[ |:]+' '/inet addr/{print $4}'` 
cat >>/etc/hosts <<EOF
$localip imgtu.aa.net 
$localip imgtu.bb.com 
$localip imgtu.cc.com 
$localip imgtu.dd.com 
EOF 
for url in `cat  /tmp/cachelist.txt` 
do 
  curl $url 
  if [ $? -eq 0 ] 
  then 
    echo "$url is not clean,failure,please check......" 
  fi 
done

환경 2: 지정 한 도 메 인 이름과 디 렉 터 리 경로 의 캐 시 를 삭제 합 니 다.
 
 
#!/bin/bash 
#---source host take out the directory path 
for each in /var/wwwroot/imgtu.xxx.net/web/uploads/content/201303/*/* 
do  
  echo "$each" >>/tmp/test0417 
done 
#!/bin/bash 
#----------clean cache script---------- 
cat >>/tmp/iplist.txt <<EOF
61.x.x.x 
45.x.x.x 
122.x.x.x 
EOF 
echo "please input you need clean domainname:" 
read domainname                                                                  
URL=`cat /tmp/test0417 |sed 's:/var/wwwroot/:http\://:g' |sed 's:/web:\:81/purge:g'` 
for host in `cat /tmp/iplist.txt` 
do 
 echo "$host $domainname" >>/etc/hosts 
 for i in $URL 
 curl $i 
 done 
done

좋은 웹페이지 즐겨찾기