清除Squid代理缓存并重新创建缓存目录

时间:2020-01-09 10:42:09  来源:igfitidea点击:

如何清除Squid缓存?
如何在当前在Linux或者Unix服务器上运行Squid版本3.x/4.x的服务器上重新创建缓存目录?
您可以使用以下过程在服务器上删除/清除缓存并重新创建缓存目录。
请注意,如果您在CentOS/RHEL/Fedora Linux上使用SELinux,则需要运行其他命令。

步骤1:查找Squid缓存目录位置

打开终端应用程序/窗口,然后执行:

# grep cache_dir /etc/squid/squid.conf

输出示例:

cache_dir ufs /var/spool/squid 100 16 256

对于远程服务器,请使用ssh命令:

$ ssh [email protected]
$ sudo grep cache_dir /etc/squid/squid.conf

我们可以使用du命令查看Squidcahce大小:

$ sudo du -ch /var/spool/squid
2.8M	/var/spool/squid/00/00
4.0K	/var/spool/squid/00/BA
4.0K	/var/spool/squid/00/17
4.0K	/var/spool/squid/00/34
4.0K	/var/spool/squid/00/33
4.0K	/var/spool/squid/00/32
4.0K	/var/spool/squid/00/49
4.0K	/var/spool/squid/00/E0
4.0K	/var/spool/squid/00/3D
4.0K	/var/spool/squid/00/44
4.0K	/var/spool/squid/00/98
4.0K	/var/spool/squid/00/2B
3.8M	/var/spool/squid/00
28M	/var/spool/squid/
28M	total

第2步:使用空的缓存重新启动Squid

打开终端并以root用户身份登录。
或者使用ssh命令登录到远程服务器。
登录后,执行以下命令以关闭squid代理服务器:

# squid -k shutdown

使用以下rm命令删除目录:

# rm -rf /path/to/dir/cache/
# rm -rf /var/spool/squid/

请注意,您需要为要清空的每个cache_dir位置重复rm命令。
接下来,使用以下mkdir命令创建目录并使用chown命令设置权限:

# mkdir /var/spool/squid/
# chown squid:squid /var/spool/squid/

在由名为proxy的用户运行的Debian或者Ubuntu LinuxSquid服务器上。
换句话说,执行以下chown命令:

# chown proxy:proxy /var/spool/squid/

更好的选择是使用grep命令/egrep命令来搜索用户名,如下所示,然后通过chown命令应用该用户名:

# grep cache_effective_user /path/to/your/squid.conf
# grep -i --color cache_effective_user /etc/squid/squid.conf

关于SELinux用户的说明

如果您在CentOS/RHEL/Fedora Linux上使用SELinux,请执行以下命令来恢复文件的默认SELinux安全上下文:

# restorecon -vr /var/spool/squid

不要跳过上述步骤。

创建cache_dir

最后,要重新创建缓存目录,请执行:

# squid -z

启动Squid代理服务器

要启动Squid,请执行:

# squid

或者

# service squid start

输出示例:

Starting squid:                                            [  OK  ]

现代Linux发行版用户需要使用systemctl命令,如下所示:

# systemctl start squid.service
## Check status too ##
# systemctl status squid.service

步骤3:验证Squid是否正在运行

执行以下命令:

# netstat -tulpn | grep :3128
# ss -tulpn | grep :3128
# tail -f /var/log/squid/access.log
# tail -f /var/log/squid/cache.log