用SHELL脚本精准清除Squid缓存[更新版]

简介:

此脚本是在张宴的缓存清理脚本上做了修改的,主要是增加if选项,并根据$1参数类型来选择性的列出缓存文件所在地址(因为$1并不固定,有时是特定的jpg类型,有时是域名)目前在自己的Squid缓存服务器上应用,感觉采集缓存网址基本上没什么误差了,欢迎大家试用,争取将此脚本做到更加完美(此脚本在Centos5.4 x86_64,Squid2.7下通过)脚本内容如下:

 
 
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
squidcache_path= "/usr/local/squid/var/cache"
squidclient_path= "/usr/local/squid/bin/squidclient"
if  [[  "$1"  =~ swf|png|jpg|ico|gif|css|js|htm|html|shtml ]];  then
grep  -a -r .$1 $squidcache_path/* | strings |  grep  "http:"  awk  -F  'http:'  '{print "http:"$2;}'  |   awk  -F\ ' ' {print $1}' > cache.txt
else
grep  -a -r $1 $squidcache_path/* | strings |  grep  "http:"  awk  -F  'http:'  '{print "http:"$2;}'  |   awk  -F\ ' ' {print $1}' > cache.txt
fi
while  read  LINE
do
$squidclient_path -h 122.70.148.51 -p 80 -m PURGE $LINE
done  < cache.txt




本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/838275,如需转载请自行联系原作者

目录
相关文章
|
3天前
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
28 17
|
3天前
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
18 12
|
2天前
|
网络协议 关系型数据库 MySQL
Shell 脚本案例
Shell 脚本案例
16 8
|
2天前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
18天前
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
16天前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
18 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
17天前
|
监控 Shell Linux
在Linux中,如何使用shell脚本进行系统监控和报告?
在Linux中,如何使用shell脚本进行系统监控和报告?
|
18天前
|
Shell Linux
在Linux中,shell脚本中的条件语句和循环结构是什么?
在Linux中,shell脚本中的条件语句和循环结构是什么?
|
18天前
|
关系型数据库 MySQL Shell
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
|
6天前
|
XML 存储 缓存
Squid 缓存服务器配置
Squid 缓存服务器配置
24 0