Squid: "ERROR: no running copy" [Resolvido]

Publicado por Jeferson R. Costa em 12/02/2014

[ Hits: 20.545 ]

Blog: http://www.jefersonrc.com.br/

 


Squid: "ERROR: no running copy" [Resolvido]



Na dica de hoje, vou mostrar como resolver um problema que pode ser um pouco preocupante, para quem trabalha com o Squid.

O problema, é que quando vamos usar alguma ferramenta do Squid, como por exemplo, recarregar as configurações com o comando squid -k reconfigure, o resultado será o erro no console:
Squid: ERROR: no running copy

Além disso, outro problema, é que o Squid não aplica as regras que são necessárias, por exemplo, não bloqueia os sites que deveria bloquear.

Como a maioria dos serviços o Squid armazena o PID do seu processo principal (o Squid executa geralmente em dois processos) em um arquivo, que é setado no squid.conf através do parâmetro pid_filename, e geralmente fica em /var/run/squid.pid.

Esse arquivo é atualizado com o PID, sempre que o serviço é iniciado ou reiniciado. O problema é que, em alguns momentos, pode acontecer do Squid ser finalizado incorretamente, seja intencional ou não, e nestes casos, pode acontecer de o arquivo não ser atualizado com o PID atual do processo, deixando o serviço perdido.

Bom, sabendo qual é o problema, você, provavelmente, já pensou na solução (atualizar o arquivo com o PID atual), uma vez que reiniciar o Squid não resolverá o problema, e é isso que vou mostrar aqui.

Para pegarmos o PID do processo atual, devemos rodar o seguinte comando:

ps aux | grep -i squid

A saída será mais ou menos assim:
root       405  0.0  0.0   6028   684 pts/0    S+   20:53   0:00 grep -i squid
root      2911  0.0  0.0  51700  6340 ?        Ss   Jan15   0:00 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
proxy    23059  0.9 26.8 2278912 2190308 ?     R    Jan30  79:34 (squid) -YC -f /etc/squid3/squid.conf

O processo que estamos procurando, é o que contém "(squid)" e o PID deste processo é (no nosso exemplo) 23059.

O que precisamos fazer agora, é executar o seguinte comando, lembrando que o caminho abaixo pode variar de acordo com o que está configurado no seu squid.conf:

# echo num_pid_processo > /var/run/squid.pid

Pronto, agora você terá controle novamente do seu Squid e, para garantir (caso seja possível), vamos reinicia-lo:

# /etc/init.d/squid3 restart

P.S.: em casos mais extremos que a solução acima não se aplica, pare o Squid, remova o arquivo com o PID e inicie o Squid novamente.


É isso... Abraço!

Testado no Debian 7

Veja essa e outras dicas em meu blog, onde posto dicas e soluções em TI.

Precisa de suporte técnico ou consultoria? Acesse: www.revolutech.com.br

Gostou? Compartilhe e deixe seu comentário.
Achou algum erro? Precisa de ajuda? Críticas? Deixe seu comentário.

Obrigado!
Jeferson R. Costa

Outras dicas deste autor

Limpando cache da memória RAM no GNU/Linux

Serviço online de scanner de portas

Reparando partição XFS

Recuperando senha MySQL

Configuração de rede Debian - Erro: "Não Gerenciável" [Resolvido]

Leitura recomendada

Decifrando o /etc/fstab

Instalando tema QtCurve no GTK do KDE 4.4

Amarok sem som [SOLUÇÃO]

Como ligar os LEDs do teclado automaticamente

Trocando a porta de serviços para monitoramento Nagios

  

Comentários
[1] Comentário enviado por GOV_DLX em 03/06/2015 - 09:50h

Outro detalhe importante para complementar esta dica é:
Dê as permissões corretas para o arquivo de pid do squid. Por padrão o squid não cria o arquivo em /var/run/squid3.pid na hora do seu start, então é importante verificar se o arquivo existe e caso já exista de as permissões do usuário e grupo proxy.

chown proxy:proxy /var/run/squid3.pid

[2] Comentário enviado por xixnux em 30/05/2017 - 12:47h

Me sirvió mucho este post. Muchas gracias, saludos desde Cali, Colombia



Contribuir com comentário