cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

1. cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 13/11/2011 - 16:25h

Suponhamos que um leigo mediano precisaria fazer alterações no squid.conf.
Com o auxilio do samba, fiz um link simbolico num diretorio com senha, cujo o leigo tem acesso.

Dai ele pode fazer as auterações que quiser, poré, ele precisará reiniciar o squid.

Preciso de um script que a cada um minuto verifica se tem alterações no squid.conf, se houver, reiniciar o squid.

Como???


  


2. MELHOR RESPOSTA

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 13/11/2011 - 23:48h

Pegando o gancho, dar pra fazer mais ou menos assim:



#!/bin/bash

# Se não existir arquivo que armazena o ultimo hash, cria-o
[ ! -f /tmp/ultimo_squid.conf ] && md5sum /etc/squid/squid.conf > /tmp/ultimo_squid.conf

# gera um novo hash do arquivo squid.conf
md5sum /etc/squid/squid.conf > /tmp/novo_squid.conf

#compara os arquivos
diff /tmp/ultimo_squid.conf /tmp/novo_squid.conf

# se houve mudança, reinicia o serviço
if [ $? -eq 1 ]; then
# comando para reiniciar squid
service squid restart
# atualiza o arquivo ultimo_squid.conf
mv /tmp/novo_squid.conf /tmp/ultimo_squid.conf
fi


Espero que ajude





3. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Joao
stack_of

(usa Slackware)

Enviado em 13/11/2011 - 16:38h

Minha sugestão, o script realiza a soma MD5 do arquivo de configuração e compara com a soma armazenada em um arquivo texto. Se houver alteração o novo resultado é armazenado no arquivo e o squid reiniciado.


4. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 13/11/2011 - 21:12h

Boa idéia, vo já ver como é esse md5.


5. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 13/11/2011 - 23:50h

Depois basta salvar o script, dar permissão de execução e agendar no cron, para rodar com a frequência que você quer, como :

* * * * * /local/do/script.sh

Para rodar a cada minuto


6. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 14/11/2011 - 10:10h

Parcero, vou testar meio dia, tomara q dê certo, obrigado.
Vo postar o resultado aki depois.


7. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 14/11/2011 - 12:28h

Depois basta salvar o script, dar permissão de execução e agendar no cron, para rodar com a frequência que você quer, como :

* * * * * /local/do/script.sh

Para rodar a cada minuto


Deu certo, por um momento eu achei q tava errado, mas tava faltando por o usuario na linha do cron

* * * * * /local/do/script.sh <---deu erro

* * * * * root /local/do/script.sh <--deu certo

Uma dúvida, por o cron estar monitorando a cada minuto, isso não torna o cpu lento?

Preciso fazer algo semelhante para todas as listas do squid, tipo, lista_ips_permitidos, sites_bloqueados etc, e também para o sript de firewall.

Isso não deixa o cpu lento??



8. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 14/11/2011 - 12:38h

Uma dúvida, por o cron estar monitorando a cada minuto, isso não torna o cpu lento?


Enquanto forem operações simples como essa que verifica arquivo, e só às vezes faz o restart do serviço, não tem muito problema, a execução do cron, já é feita a cada minuto.

Aquela linha que passei, era para usar com o contrab -e, não é recomendado alterar diretamente o arquivo, nesse caso você teve que especificar o usuário ;-)


9. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 26/11/2011 - 15:50h

Esse script me ajudou demaaaasisss, muito bom.

obrigado!


10. Re: cron executa script, reiniciar squid se houver alteração no squid.conf. Como? [RESOLVIDO]

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 29/11/2011 - 12:41h

Como comentei anteriormente, a solução funcionou, a intenção era de por links simbolicos em uma pasta compartilhada no samba, para apenas o root acessar essa pasta.

dai fiz assim:

ln -s /etc/squid/sites_bloquedos /mnt/arquivos/sites_bloqueados.rtf

Blz, o usuario do windows abre esse arquivo com o wordpad, faz as alterações, e salva.

Isso eu fiz no debian 5, porém, fui aplicar essa solução do debian 6, e na hora de abrir o documento pelo winodows, só dá acesso negado.

Mas ainda assim, o samba permite, criar, modificar, e exluir arquivos.

O q houve, o debian 6 ta com preconceito??






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts