- 论坛徽章:
- 0
|
再来发个之前写的perl清除squid缓存的脚本- #! /bin/env perl
-
- use File::Find;
- use Net::HTTP;
-
- our @src_file_dir = ("/usr/local/squid/cache");
- our $grp_file = $ARGV[0];
-
- find(\&wanted, @src_file_dir);
-
- sub wanted {
- !-d && search($File::Find::name);
- }
-
- sub search {
- my $filename = shift;
-
- open FH,"strings $filename |";
-
- while(<FH>) {
- chomp;
- \&purge_cache($_) if (/$grp_file/i and /^http/);
- }
- }
-
- sub purge_cache {
- my $url = shift;
- my $conn = Net::HTTP->new(Host => "127.0.0.1") or die $@;
- $conn->write_request(PURGE => $url);
- my($code, $mess, %h) = $conn->read_response_headers;
- print $url,":",$code,"\n";
- }
复制代码 设置:
@src_file_dir= 设置squid缓存目录的路径
用法:
1、清除所有Flash缓存(扩展名.swf):
./clear_cache.pl swf
2、清除URL中包含wenzizone.cn的所有缓存:
./clear_cache.pl wenzizone.cn |
|