Squid - Limpando cache rapidamente

Publicado por Arthur Gregory Matiello em 13/05/2013

[ Hits: 77.437 ]

 


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

Nagios no Ubuntu 11.10

Debian - Criando RAID 1 (mirror) rapidamente

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

Bloquear modificações em um arquivo com chattr

Alternando entre dois diretórios eficientemente

Leitura recomendada

Corrigindo erros de chave pública no Debian (GPG)

Criador de perfil falso

Limitando uso do comando su

Snort - Instalação e configuração

5 Passos para Aumentar sua Privacidade no Linux

  

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