使用Shell脚本批量清除Nginx缓存

   提高网站速度体验除了本身网站程序优化外,对于LinuxSA来说还有大量的工作要做,优化系统内核、调整Web服务器的参数、优化数据库、增加网站架构缓存等等一系列的工作。

  对于网站缓存,目前主流的HTTP加速器主要有Varnish、Nginx_proxy、Squid等,随着Nginx Web 高速反向代理被各大中型网站使用,其集成缓存的功能(Nginx_proxy)也日益强大,目前企业中也在大量使用。今天我们来研究一下 Nginx_Proxy缓存如何有效的来清理。如下使用Shell脚本来自动化清理,直接上脚本如下:

  #! /bin/sh

  #Auto Clean Nginx Cache Shell Scripts

  #2013-06-12 wugk

  #Define Path

  CACHE_DIR=/data/www/proxy_cache_dir/

  FILE="$*"

  #To determine whether the input script,If not, then exit 判断脚本是否有输入,没有输入然后退出

  if

  [ "$#" -eq "0" ];then

  echo "Please Insertclean Nginx cache File, Example: $0 index.html index.js"

  sleep 2 && exit

  fi

  echo "The file : $FILEto be clean nginx Cache ,please waiting ....."

  #Wrap processing for the input file, for grep lookup,对输入的文件进行换行处理,利于grep查找匹配相关内容

  for i in `echo $FILE |sed 's//n/g'`

  do

  grep -ra $i ${CACHE_DIR}| awk -F':' '{print $1}' > /tmp/cache_list.txt

  for j in `cat/tmp/cache_list.txt` do

  rm -rf $j

  echo "$i $j is DeletedSuccess !"

  done

  done

  #The Scripts exec success and exit 0

  如下为执行清除脚本后的截图:

时间: 2024-12-23 00:14:06

使用Shell脚本批量清除Nginx缓存的相关文章

Shell脚本批量清除Nginx缓存_linux shell

前言*随着整个互联网的发展,产生了无数大大小小的网站,随之而来用户对网站UI和速度体验也在日益加强,对企业或者个人来说,赢得用户体验也就意味着赢得先机. 那今天我们在这里针对网站速度这方面来一起交流,提高网站速度对于运维工程师.程序员来说变得至关重要.运维工程师首先得在日常网站运维中发现影响网站速度的各种因素得逐个推动然后解决. 提高网站速度体验除了本身网站程序优化外,对于LinuxSA来说还有大量的工作要做,优化系统内核.调整WEB服务器的参数.优化数据库.增加网站架构缓存等等一系列的工作.

用shell脚本批量导出MYSQL数据库日志

mysqlbinlog 从二进制日志读取语句的工具.在二进制日志文件中包含的执行过的语句的日志可用来帮助从崩溃中恢复. 一.MYSQL数据库日志,有以下几种日志: 1.错误日志: -log-error 2.查询日志: -log 3.慢查询日志: -log-slow-queries 4.更新日志: -log-update 5.二进制日志: -log-bin 这里讨论的是MYSQL二进制日志的导出.导入:MYSQL二进制日志完整备份,增量备份. 默认情况下,所有日志创建于mysqld数据目录中,或者

Shell脚本批量修改文件后缀名代码分享_linux shell

早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了"格式不正确"而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就

Shell脚本批量重命名文件后缀的3种实现_linux shell

今天突然间想起昨天有个问题还没动手实践下,就是利用shell批量修改文件的后缀,现在动手实践一下. 需求:家目录下有一些sql文件,想批量重命名成txt的 1.find + xargs +sed 复制代码 代码如下: find /root -name '*.sql' |xargs -i echo {}   {} |sed 's/sql/txt/2′  |xargs mv find /root/ -name '*.sql' |sed -e 's/\(.*\).sql$/mv & \1.txt/e'

通过shell脚本批量验证dataguard的有效性

我们假设一个场景,当你接触到一个新的环境,我们需要了解这个数据库是否为RAC,是否有备库. 如果有备库,那么问题来了,如果想去验证备库的状态是否有效,是否及时应用了数据变更.怎么查看呢.常规的思路是我们登录到主库使用dg broker,如果得到dg broker验证的状态为SUCCESS,在11g中我们认为备库的状态是ONLINE就是达标了,如果在10g,还不能完全说明备库没有问题.如果有一主两备的情况,怎么查看每个备库的日志更新情况呢,我们需要使用show database verbose x

用SHELL脚本批量替换Netatalk字符集文件名

前一段时间遇到一个批量修改文件名的,是一台debian文件服务器,为mac提供文件共享服务,其中的汉字部分采用编码方式(查了下资料,应该是的,没有去实际验证),具体的编码原则如下: 一个存储于linux服务器中的字符名称为Product_List:b2:fa:c6:b7:c4:bf:c2:bc,编码方式为CP936,但已经不会有中文了.编码的转换方式为:后面的两位字符就是对应CP936字符集的一个字符(半个汉字)的HEX内码,如上面文件名转换后应该为:Product_List产品目录,见下面转换

Shell脚本批量添加扩展名的两种方法分享_linux shell

方法1: 复制代码 代码如下: for file in  `ls`; do mv $file $file.txt; done 方法2: 复制代码 代码如下: find . -type f |xargs -i mv {} {}.txt 还有一些试验不成功的,先记录在此. 1.用rename命令修改后缀名,这个是最简单最省事的办法 复制代码 代码如下: [root@demo test_rename]# ll 总计 20 -rw-r–r– 1 root root 0 09-27 00:57 renam

linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法_linux shell

要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick: CentOS上安装: yum install ImageMagick -y Debian上安装: apt-get install ImageMagick -y 脚本: #!/bin/bash for each in /要处理的图片目录/*{.jpg,.gif} s=`du -k $each | awk '{print $1}'` if [ $s -gt 10 ]; then #convert

Shell脚本实现批量下载网络图片代码分享_linux shell

最近为了做好一个天气预报的项目,需要从Yahoo下载一些天气图标,但是由于图标比较多,有80多张.图标是存储在Yahoo Image网站上的. 迅雷不支持https的下载,虽然可以在浏览器下载,但是在浏览器下载太慢,于是写了一个批量下载图片资源的Shell脚本,完美的解决了这个问题. Yahoo天气图标的地址规则如下:https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/ + 图标名称 比如: 我使用了2种方法,解决了下载的难题,虽然好久没有写She