Problemas com o agendamento no CRON

1. Problemas com o agendamento no CRON

Douglas Akira
akira27jp

(usa Ubuntu)

Enviado em 19/08/2014 - 11:22h

Bom galera, sempre me dediquei a vida MS, mas desde que vim trabalhar nessa nova empresa, tenho tido algumas dores de cabeça com o Squid, já que eu não conheço nada de Linux.

Como disse em outro tópico (http://www.vivaolinux.com.br/topico/Squid-Iptables/Squid-e-resolucao-de-nomes)nosso maior problema é que toda vez que um usuário muda de IP, o SQUID não entende e preciso dar um squid -k parse e squid -k reconfigure.

O resolv.conf está configurado como devia, com todos os DNS apontados, mas não funciona... como não consegui muita ajuda no outro tópico, decidi uma solução "temporária" até que possamos trocar nosso proxy por outra solução.

A solução "temporária" que encontramos foi "agendar" os comandos acima para rodarem a cada 10 minutos e pesquisando, vi que poderia fazer isso com o cron.

Após pesquisar um pouco, vi que a forma ideal seria criar um script e agendálo no cron, e abaixo descreverei o passo-a-passo, já que por algum motivo, recebo insistentemente a emnsagem Error: bad-day-of-month; while reading /etc/crontab ou Error: Bad hour; while... dependendo da sintaxe que uso.

Criei o script assim:

/etc/squid/restartsquid.sh

#!/bin/sh

echo "Restartando o Squid..."

squid -k parse
squid -k reconfigure

Dei permissões no script usando

chmod 777 /etc/squid/restartsquid.sh

Depois agendei no Cron da seguinte forma:

forma 1
nano /etc/crontab

*/10**** root /etc/squid/restartsquid.sh

forma 2
0-59/10**** root /etc/squid/restartsquid.sh

forma 3
0,10,20,30,40,50**** root /etc/squid/restartsquid.sh

Tentei ainda outras variações tipo dando um espaço depois dos minutos antes dos asteriscos, espaço entre todos asteriscos e sempre dá o mesmo problema, ou aparece uma mensagem ou outra...

Alguém poderia me dizer, o que estou fazendo de errado???


Agradeço desde já

Akira



  


2. Re: Problemas com o agendamento no CRON

Buckminster
Buckminster

(usa Debian)

Enviado em 19/08/2014 - 12:29h

Tu deste permissão de execução?

chmod +x /etc/squid/restartsquid.sh

"Error: bad-day-of-month; while reading /etc/crontab ou Error: Bad hour; while... dependendo da sintaxe que uso."
"Error: dia do mês errado;... Hora errada;"

Quanto ao erro acima veja o manual do Cron:

# man cron
e
# man 5 crontab

ou veja:
http://virtual01.lncc.br/~licht/linux/sistema.crontab.sintaxe.html


3. Squid

Eliezer Rosa
eliezergnu

(usa Ubuntu)

Enviado em 19/08/2014 - 14:14h

Boa tarde,

Meu caro, tem que matar o problema na raiz. O problema é que toda vez que alguém muda de IP a regra não aplica, porque deve estar aplicando a regra por endereço IP correto?? Muda a regra para fazer liberação/blooqueio por MAC utilizando o protocolo ARP.

Ex.:

acl pcmacs arp "/etc/squid/listademacs.txt"
http_access deny pcmacs

(listademacs.txt vc coloca um endereço MAC por linha, separados por ":"


ex.:

XX:XX:XX:XX:XX:XX
XX:XX:XX:XX:XX:XX
XX:XX:XX:XX:XX:XX
XX:XX:XX:XX:XX:XX

Se não for isso, tem que ver de fato porque não está aplicando a regra quando o pc muda de endereço IP.


4. Re: Problemas com o agendamento no CRON

Douglas Akira
akira27jp

(usa Ubuntu)

Enviado em 19/08/2014 - 14:39h

Obrigados aos amigos.

esclarecendo melhor, na verdade as libreações/bloqueios são feitos por nome de host.
Por isso que quando alguém troca de IP o SQUID não reconhece.

Quanto ao problema do CRON, eu fiz no estilo que manda no arquivo man e tbm como vi em alguns exemplos na net, mas dá esse erro e não sou/fui capaz de encontrar o erro sozinho...


Att


5. Re: Problemas com o agendamento no CRON

Buckminster
Buckminster

(usa Debian)

Enviado em 19/08/2014 - 22:33h

Estranho... dessa forma abaixo teria que funcionar:

*/10 * * * * root /etc/squid/restartsquid.sh <<< com espaços entre os campos.

Teste colocando o script em /etc/init.d/restartsquid.sh.
E coloque essa variável dentro do teu script restartsquid.sh:

export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"

Faça as alterações e reinicie o cron.



6. Re: Problemas com o agendamento no CRON

Douglas Akira
akira27jp

(usa Ubuntu)

Enviado em 20/08/2014 - 11:17h

buckminster escreveu:

Estranho... dessa forma abaixo teria que funcionar:

*/10 * * * * root /etc/squid/restartsquid.sh <<< com espaços entre os campos.

Teste colocando o script em /etc/init.d/restartsquid.sh.
E coloque essa variável dentro do teu script restartsquid.sh:

export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"

Faça as alterações e reinicie o cron.


Caro amigo, fiz o que você me sugeriu e BINGO... funcionou.... não sei se foi o local do arquivo ou a variável... o importante é que o erro não consta mais no SYSLOG.

Com isso, posso assumir que o CRON está executando os comandos corretamente?


Muito obrigado até agora...


7. Re: Problemas com o agendamento no CRON

Buckminster
Buckminster

(usa Debian)

Enviado em 21/08/2014 - 08:10h

Se tu reiniciou o Cron depois das alterações e não deu erro, então está tudo funcionando.
Mas para ter certeza, só monitorando o Squid.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts