Squid - Limpando cache rapidamente

Publicado por Arthur Gregory Matiello em 13/05/2013

[ Hits: 77.080 ]

 


Squid - Limpando cache rapidamente



Vou contribuir com uma dica sobre o que eu costumo fazer quando preciso limpar o cache do Squid com rapidez.

Pra quem nunca limpou o cache do Squid, primeiro, você precisar saber onde ele fica.

Para isso, abra o seu "squid.conf" (no Debian, por padrão, ele fica em "/etc/squid3/squid.conf") e verifique o caminho do cache na opção "cache_dir", que, no meu caso, está apontando para o diretório "/var/spool/squid".

Agora vamos ao procedimento que deve ser realizado.

Pare o serviço do Squid:

# /etc/init.d/squid3 stop

Renomeie o diretório do Squid (aqui está o segredo, se você apagar esse diretório e depois recriar, ele vai demorar para apagar e sua Internet vai ficar mais tempo sem funcionar):

# mv /var/spool/squid /var/spool/squid.del

Recrie o diretório de cache:

# mkdir /var/spool/squid

Dê permissão para o diretório criado:

# chmod 777 /var/spool/squid

Reconstrua os arquivos de cache:

# squid3 -z

Inicie o servidor do Squid (nesse passo, a sua Internet já volta a funcionar):

# /etc/init.d/squid3 start

Com a internet já funcionando, apague o diretório de cache antigo, sem impactos para os usuários:

# rm -rf /var/spool/squid.del

No meu caso, eu criei um script com esses comandos e eu nem preciso fazer mais nada.


Espero que seja útil.
Qualquer dúvida, estou a disposição.

Arthur Matiello

Outras dicas deste autor

Bloquear modificações em um arquivo com chattr

Debian - Criando RAID 1 (mirror) rapidamente

Compartilhar uma pasta no Windows e acessar a mesma através do Linux

Nagios no Ubuntu 11.10

Alternando entre dois diretórios eficientemente

Leitura recomendada

Introdução ao Hydra - Brute-force

Bloquear Ultra-Surf 9.3

A necessidade de um firewall

Falha de segurança no Samba [CVE-2017-7494] - Como se proteger

zuluCrypt no Debian 8 Jessie - Criptografia

  

Comentários
[1] Comentário enviado por eduardo em 13/05/2013 - 09:13h

Sempre faço isso. Boa dica ;)

[2] Comentário enviado por arthurmatiello em 13/05/2013 - 09:21h

Eu vejo muita gente parando o serviço do Squid, apagando a pasta, recriando os arquivos e depois iniciando o serviço do Squid o que acaba deixando a internet indisponível por muito tempo se a pasta for muito grande. Por isso postei a dica...

[3] Comentário enviado por rodrigo_leonel em 06/08/2013 - 15:35h

Ja vi também muita gente fazendo esse procedimento de parar o serviço e ficando as vezes até tarde da noite para realizar esse procedimento.

[4] Comentário enviado por DeFigueiredo em 23/10/2013 - 12:13h

Seguem um trecho do meu squid.conf

#Você pode definir ainda a percentagem de uso do cache que fará o Squid começar a descartar os arquivos mais antigos. Por padrão, sempre que o cache atingir 95% de uso, serão descartados arquivos antigos até que a percentagem volte para um número abaixo de 90%:

cache_swap_low 90
cache_swap_high 95

[5] Comentário enviado por rdx em 31/10/2013 - 08:47h

Bom dia:

"DeFigueiredo", excelente sua dica, habilitei ontem a noite com

cache_swap_low 5
cache_swap_high 20

para testar e funcionou perfeitamente. Alterei para

cache_swap_low 90
cache_swap_high 95

e nunca mais a navegação será interrompida aqui devido a cache com 100%

Muito obrigado

[6] Comentário enviado por ederpaulopereira em 23/10/2014 - 09:43h

Tive vários problemas seguindo este tutorial, até que segui este site (http://www.cyberciti.biz/faq/linux-unix-clearing-squid-proxy-cache-and-recreate-dirs/), o qual menciona o selinux. Sempre quando eu limpava o cache, dava erro de permission denied, mesmo colocando chmo 777 nos arquivos, no meu caso era no /var/run/squid.pid. Agora deu certo.

[7] Comentário enviado por rodrigo_leonel em 23/10/2014 - 10:46h


[6] Comentário enviado por ederpaulopereira em 23/10/2014 - 09:43h:

Tive vários problemas seguindo este tutorial, até que segui este site (http://www.cyberciti.biz/faq/linux-unix-clearing-squid-proxy-cache-and-recreate-dirs/), o qual menciona o selinux. Sempre quando eu limpava o cache, dava erro de permission denied, mesmo colocando chmo 777 nos arquivos, no meu caso era no /var/run/squid.pid. Agora deu certo.


Pois é, SELINUX é um caso à parte, para aqueles que gerenciam servidores CentOS e RedHat Like é obrigação saber usar ou desabilitar essa função.

[8] Comentário enviado por Darth-Tux em 27/11/2014 - 16:57h

Utilizo CentOs e funcionou perfeitamente, um detalhe que para pode vir acontecer e a versão do squid ser outra, no meu caso onde esta "squid3" é somente "squid", show de bola o tutorial!

[9] Comentário enviado por lanjoin em 31/01/2015 - 16:24h


Maravilha, estava com falta de espaço em disco devido o cache do squid. Consegui resolver com a sua dica. No meu caso, nao funcionou o comando squid3 -z, mas funcionou o comando squid -z. Eu uso o CentOS 5. Obrigado.

[10] Comentário enviado por douglascosta10 em 12/06/2018 - 09:55h

Bom Dia,

Fui executar o processo e esbarrei logo no inicio kkk

ao parar o serviço do squid me retornou como falha

[root@fw-novo-hbo /]# /etc/init.d/squid stop
Stopping squid: [FAILED]

O que será que devo fazer para resolver?

[11] Comentário enviado por eduardo em 12/06/2018 - 10:07h


[10] Comentário enviado por douglascosta10 em 12/06/2018 - 09:55h

Bom Dia,

Fui executar o processo e esbarrei logo no inicio kkk

ao parar o serviço do squid me retornou como falha

[root@fw-novo-hbo /]# /etc/init.d/squid stop
Stopping squid: [FAILED]

O que será que devo fazer para resolver?


Provavelmente o seu Squid não estava rodando ou não foi iniciado dessa forma. Para verificar se está rodando:
# ps -ef | grep squid

Você também pode parar o squid com o comando "squid -k shutdown" e "killall squid". Sempre verifique se o squid ainda está rodando com o "ps". Para inicializar, "squid", se for a versão 3 para cima, ou "squid -D", se for a versão antiga. Use "squid -v" para verificar a versão.
Se o comando squid não funciona, tens que utiliza o caminho completo do binário do squid.

[12] Comentário enviado por douglascosta10 em 12/06/2018 - 14:49h

Boa Tarde,

Acabamos descobrindo a falha aqui... Não conseguíamos parar o serviço pois estávamos sem espaço algum em nosso firewall. O Sarg estava matando o espaço... Excluímos o arquivo e conseguimos parar o serviço. Agora ele votou a funcionar e conseguimos fazer o processo descrito acima

Valeu pela ajuda

[13] Comentário enviado por eduardo em 12/06/2018 - 15:04h


[12] Comentário enviado por douglascosta10 em 12/06/2018 - 14:49h

Boa Tarde,

Acabamos descobrindo a falha aqui... Não conseguíamos parar o serviço pois estávamos sem espaço algum em nosso firewall. O Sarg estava matando o espaço... Excluímos o arquivo e conseguimos parar o serviço. Agora ele votou a funcionar e conseguimos fazer o processo descrito acima

Valeu pela ajuda


Bem observado! Que bom que resolveram :)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts