Home › Comunidade Brasileira Endian Firewall › Endian Firewall › Endian Firewall – Suporte › Apagar cache manualmente?
Marcado: DSAFAFASF
- Este tópico contém 10 respostas, 4 vozes e foi atualizado pela última vez 10 anos, 8 meses atrás por Diego Pontes.
-
AutorPosts
-
-
agosto 7, 2013 às 4:27 pm #2905neophspParticipante
Tenho lido vários tópicos sobre apagar o cache do squid, pois via interface web tem um bug que impede esta ação. Também quando a partição /var/, especialmente a /var/spool/squid, tem que apagar o conteúdo senão a internet fica lenta.
Não deveria ser automática esta limpeza de cache?
Wireguard_webadmin
Sistema gratuito (Open Source) para gestão de VPN's WireGuard com uma Web interface intuitiva e fácil de usar.
Principais funcionalidades:
- Sistema de Firewall completo e flexível.
- Encaminhamento de portas
- Suporte a multi usuário com níveis diferentes de acesso
- Múltiplas instâncias do Wireguard
- Crypto key routing para configuração de VPN site-to-site
O projeto é Open Source, fácil de instalar e está disponível em wireguard_webadmin
-
agosto 7, 2013 às 7:32 pm #14623Rubem_mnParticipante
echo -e ”
” >> /var/log/squid/cleaner.logecho -e “Parando Squid –
date "+%d-%m-%Y"
” >> /var/log/squid/cleaner.log/etc/init.d/squid stop
cd /var/spool/squid/
echo -e “Limpando Squid –
date "+%d-%m-%Y"
” >> /var/log/squid/cleaner.logrm -rf *
echo -e “Reconstruindo Squid –
date "+%d-%m-%Y"
” >> /var/log/squid/cleaner.logsquid -z
echo -e “Iniciando Squid –
date "+%d-%m-%Y"
” >> /var/log/squid/cleaner.log/etc/init.d/squid start
echo -e ”
” >> /var/log/squid/cleaner.logexit 0
Salve em arquivo com extensão .sh depois permissão chmod +x ./arquivo.sh
Para realizar esse procedimento automático você por usar o cron
-
agosto 7, 2013 às 7:58 pm #14624neophspParticipante
Obrigado Rubens, vou configurar aqui.
-
agosto 8, 2013 às 11:17 am #14625neophspParticipante
Só mais uma dúvida. Quando o limite do cache for atingido, o Endian deveria sobrescrever o cache mais antigo pelos novos dados? Tenho um CentOS que configurei e nunca precisei apagar cache. Notei também que ele não tem o cache_swap_low e cache_swap_hight.
É normal isso no Endian?
-
agosto 8, 2013 às 6:07 pm #14626Diego PontesParticipante
cd /var/spoll/squid ; killall -9 squid ; killall -9 squid ; killall -9 squid ; rm -rf * ; squid -z ; /etc/init.d/squid start ; squid -k reconfigure ; killall -9 squid ; killall -9 squid ; killall -9 squid ; /etc/init.d/squid start
Pode jogar esses passos também dentro de um arquivo e fazer um script pra rodar automaticamente, mas prefiro fazer isso na mão só quando é necessário.
@neophsp Ele sobrescreve pelo mais antigo, raramente precisa fazer isso, mas pode ocorrer depois de algum tempo acontecer algum problema nos arquivos e ficar lento a leitura ou a escrita e com isso a navegação, por isso é importante deletar o cache, mas fazer isso todo dia é totalmente desnecessário, pois você perde a funcionalidade que ele se presta a fazer.
-
agosto 9, 2013 às 12:04 pm #14627neophspParticipante
Diego e Rubens,
Obrigado pela informação, fiz os dois scripts e também ficou claro o funcionando do cache no Endian.
-
agosto 9, 2013 às 12:36 pm #14628Eduardo SilvaParticipante
Pessoal,
gostaria de fazer duas observações importantes
1- NUNCA use “kill -9” procure usar no máximo -6!
Como o sistema interpreta o kill:
* “kill squid” -> envia o sinal para o squid fechar e parar de trabalhar. O processo tem todo o tempo que precisa para “fechar arquivos abertos”, encerrar gravações e leituras, remover arquivos temporários, encerrando o processo como deve ser.
Caso o processo não responda como deve, pode-se tentar:
* “kill -6” -> O sistema operacional força o encerramento do aplicativo, e fecha todos os arquivos aberto bem como permite que o processo faça o seu “cleanup” básico.
Normalmente funciona para 99% dos casos de processos travados.
* “kill -9” -> O sistema encerra o processo como ele está, encerrando totalmente as atividades do mesmo, deixando para traz arquivos abertos, lock files, e/ou arquivos temporários que deveriam ser removidos.
Por vezes o kill -9 pode causar com que o mesmo processo não consiga inicializar novamente ou mesmo corromper arquivos que estavam abertos.
2- Observação MUITO importante:
Se o squid estiver configurado corretamente, nunca será necessário limpar o cache!
O squid tem uma gerência excelente do cache em disco. Basta configurar corretamente!
Tenho um endian rodando a anos, com a opção “Cache size on harddisk (MB) * ” ajustada para “1024”
Segue abaixo o retorno do “du” para o meu diretório de cache.
root@efw-corp:~ # du -csh /var/spool/squid
960M /var/spool/squid
960M total
Esta opção encontra-se em Proxy Configuration Cache management
Para mais informações sobre como o squid gerencia o cache e a memória, leiam:
http://www.comfsm.fm/computing/squid/FAQ-8.html
[]’s
-
agosto 9, 2013 às 12:41 pm #14629Eduardo SilvaParticipante
@Rubem_mm
O seu script é PERIGOSO demais!!!
Se por acaso houver um erro no filesystem e não for possível executar “cd /var/spool/squid/”
O seu “rm -fr *” pode vir a ser um desastre completo!
Tomem cuidado, nem tudo que se lê na internet está certo!
-
agosto 9, 2013 às 12:54 pm #14630Diego PontesParticipante
Eu sei bem o funcionamento do kill, uso ele ao invés de service stop, porque o service demora muito pra parar o squid e na verdade nunca usei outro sinal, há não ser o “9”, além de ser mais rápido, sempre funciona e em mais de 6 anos de Linux nunca tive problemas com ele, acho que esse problema deveria acontecer nos kernels mais antigos.
Quem quiser se aprofundar nos sinais do kill, basta fazer uma pesquisa rápida no google: sinais do kill.
-
agosto 9, 2013 às 1:19 pm #14631Eduardo SilvaParticipante
Diego,
Estou apenas dando o meu ponto de vista sobre o assunto.
Quem sabe opiniões de outros sysadmins reforcem o que eu estou dizendo: http://unix.stackexchange.com/questions/8916/why-not-kill-9-a-process
Versão de Kernel não tem nenhuma relação com os efeitos que eu citei.
de qualquer forma, se for um script que vai rodar “durante a madrugada”, não vejo problema em esperar 4 ou 5 segundos para o processo encerrar como deve ser. O stop é sempre a forma mais correta de fazer as coisas.
Um script no formato:
#!/bin/bash
/etc/init.d/squid stop
executar ações aqui
/etc/init.d/squid start
vai funcionar perfeitamente, pois ele só vai avançar para a linha das ações após o squid ser fechado corretamente.
executar “killall -9 squid ; killall -9 squid ; killall -9 squid” é muito errado, principalmente pelo fato de que se o programa não morreu no primeiro kill -9, não vai morrer nem no décimo nem no centésimo. Vale mais a pena botar “killall -9 squid ; sleep 2.
A propósito, agora vi que você também tem um “cd /var/spool/squid” ; “rm -fr *”
Como eu disse antes, isso é perigoso, se preferem usar um squid configurado incorretamente, limpando o cache diariamente (desnecessário e errado), sugiro usar um comando menos arriscado tipo:
rm -fr /var/spool/squid/*
Isso diminui drasticamente as chances de um problema de mount resultar em perda massiva de dados.
Por favor não confunda o que eu estou dizendo aqui… não são ordens, são sugestões e dicas, acha que eu estou errado, sinta-se livre para fazer da forma que achar melhor.
Estou apenas dizendo a forma que eu considero mais apropriada para fazer as coisas.
quer ver um kill -9 causar problemas sérios? Pega uma base de dados movimentada, mysql/ldap/postgresql e roda um kill -9 no meio das transações 🙂
[]’s
-
agosto 9, 2013 às 6:16 pm #14632Diego PontesParticipante
Simples, para resolver o problema basta mudar para “cd /var/spool/squid && rm -fr * ; …”
Sempre que faço isso, eu faço na mão, não faço por meios de scrpit e uso sim o sinal -9 sem nenhum problema.
Pergunta: Se eu der um kill -9 nessa base movimentada, deletar todos os arquivos e depois recriá-los qual seria o problema dela? Nenhum, pois não teria nada de antigo nessa base, seria tudo novo! É isso que é feito com o squid 😀
-
-
AutorPosts
- O tópico ‘Apagar cache manualmente?’ está fechado para novas respostas.