problemas com o crontab [RESOLVIDO]

1. problemas com o crontab [RESOLVIDO]

Deuzenildo
deuz

(usa Debian)

Enviado em 18/01/2012 - 22:32h

Olá pessoal, nao sei se é aqui mesmo q devo postar, se estiver errado, me corrijam por favor; tenho um problema com o agendador de taferas, analise o arquivo:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
30 06 * * * shutdown -r now
0 01 * * * root> /etc/cron.daily/./sargrelat
2 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Como podem ver, todos os dias ele executa o arquivo sargrelat, (esse para gerar a pagina com os acessos da rede, sarg). Só que se eu deixar assim, ele apaga todo o arquivo, deixando em branco e sem efeito nenhum.
Eu tentei resolver o problema, colocando a execução do arquivo no rc.local, tal como fiz com o script de firewall, porem, com o sarg, nao da certo, ele nao executa. Seu eu executar na unha, "#/etc/cron.daily/./sargrelat", da certo. Eu uso o Centos 5.7 no modo grafico.

Alguem teria uma dica para faze-lo rodar sem apagar o arquivo, ou q pelo menos consiga rodar ao iniciar?

Grato:


  


2. Sujeira

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 18/01/2012 - 23:13h

Vc colocou > na frente do root

0 01 * * * root> /etc/cron.daily/./sargrelat
o correto seria assim:
00 01 * * * root /etc/cron.daily/./sargrelat


3. Re: problemas com o crontab [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 18/01/2012 - 23:21h

andrecanhadas escreveu:

Vc colocou > na frente do root

0 01 * * * root> /etc/cron.daily/./sargrelat
o correto seria assim:
00 01 * * * root /etc/cron.daily/./sargrelat


É isso mesmo, se quiser vc tb pode deixar assim:

00 01 * * * root /etc/cron.daily/sargrelat


4. Re: problemas com o crontab [RESOLVIDO]

Deuzenildo
deuz

(usa Debian)

Enviado em 19/01/2012 - 09:33h

Ola, na realidade esse ">" ja veio de brinde com a distro na instalação, por isso que nao mexi, mas vou remover e fazer um teste. Depois posto aqui os resultados.

Abraços.


5. Re: problemas com o crontab [RESOLVIDO]

Deuzenildo
deuz

(usa Debian)

Enviado em 19/01/2012 - 23:38h

Olá pessoal, seguinte, eu fiz teste e realmente o bendito ">", estava apagando meu arquivo, removi ele, testei e sabe o ocorreu? apareceu isso no meu arquivo: -bash:: command not found

Fui testando e acompanhando com tail -f /var/spool/mail/root e essa msg de erro, depois abri o arquivo que gera o relatorio e vi que tinha sobrescrito. Removi a msg e inseri novamente o comando:
#/bin/sh
INICIO=$(date --date "0 days ago" +%d/%m/%Y)
FIM=$(date --date "0 day ago " +%d/%m/%Y)
sarg -f /usr/local/etc/sarg.conf -d $INICIO-$FIM -p -x -z

pelo menos dessa vez nao apagou o arquivo, mas deu esse erro: /bin/sh: root: command not found

entao eu tirei o root da linha 04 23 * * * /etc/cron.daily/sargrelat, deu o erro: /etc/cron.daily/sargrelat: line 5: sarg: command not found. Até aqui nao apagou o arquivo.

Eu percebi que no arquivo contrab tinha uma linha PATH apontando os possiveis caminhos dos arquivos sh e bash, depois que coloquei no scritp para executar o sarg, parou de dar o erro "/bin/sh: command not found", entretando o erro da line 5 continuou; assim deduzi, se colocar os possiveis caminhos do sarg, certamente nao vai dar mais o erro... bingooooo, deu certinho. Acabou os erros, gerou o relatorio.

Vejam meu scritp para gerar o relatorio do sarg e crontab como ficaram respectivamente:

[root@proxy ~]# crontab -l
#/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
#0-59/5 * * * * root > /etc/init.d/./firewall restart
01 * * * * root run-parts /etc/cron.hourly
#30 06 * * * shutdown -r now
23 23 * * * /etc/cron.daily/./sargrelat
#02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

[root@proxy ~]# cat /etc/cron.daily/sargrelat
#/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/etc/
INICIO=$(date --date "0 days ago" +%d/%m/%Y)
FIM=$(date --date "0 day ago " +%d/%m/%Y)
sarg -f /usr/local/etc/sarg.conf -d $INICIO-$FIM -p -x -z

aproveitando a deixa, meu arquivo de firewall nao estava sendo executado ao iniciar o server, resolvi colocar tambem o eterno PATH da salvação do emprego do administrador no inicio do arquivo. Tambem deu certo. Agora posso dormir tranquilo pois alem de resolver um probleminha chato, contribui com meus colegas, isso pode ajudar alguem. fica como Dica.

Abraços a todos.


6. Problema parecido

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 19/01/2012 - 23:54h

Tenho dois scripts de firewall um normal e outro que bloqueia os redes sociais via https fora dos horários permitidos.
Fui perceber que não estava executando dois dias depois quando loguei no servidor e vi que tinha varias novas mensagens.

Manualmente funcionava blz mas no cron dava comando não encontrado iptables foi só adicionar /sbin/iptables no script que resolveu

Normalmente não uso o cron.daily prefiro dar um crontab -e como root e editar:

00 23 * * * /usr/local/bin/script.sh (todo dia as 23:00)








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts