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

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

[ Hits: 23.316 ]

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

Redirecionamento de portas IPtables

SSH pelo navegador (FireSSH)

Descobrindo seu IP externo via linha de comando no GNU/Linux

Fail2ban em servidor SSH

Erro: ERROR 2006 (HY000): "MySQL server has gone away" [Resolvido]

Leitura recomendada

Aplicativo de ajuste de brilho no Ubuntu

Afrescalhando o prompt

Liberando o usuário root para acesso remoto via ssh

Instalando Virtualbox 4 no fedora 15 e resolvendo problemas

Netflix no Funtoo

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts