crontab [RESOLVIDO]

1. crontab [RESOLVIDO]

Rodrigo
rodrigosurf

(usa Slackware)

Enviado em 21/11/2013 - 10:19h

Prezados do VOL.... bom dia

Seguinte.... tenho programando em meu crontab 3 script`s
que startam em horários diferentes(logico), porém o que
está acontecendo é o seguinte....

Dois scripts startam automaticamente em seus devidos horários
funcionando e concluindo normalmente.

e apenas UM script não starta automaticamente... porém MANUALMENTE ele
funciona perfeitamente...

alguém ja passou por isso ou pode me dar algumas dicas para
resolver???
Obrigado

Segue abaixo a configuração do crontab

30 09 * * * /usr/local/bin/carga_imp_prev.sh
30 18 * * * /usr/local/bin/carga_conversar.sh
10 09 * * * /usr/local/bin/carga_comercial.sh


Ah!!! detalhe... os 3 scripts estão com permissões para executar (chmod 755)
mais um detalhe.... é o terceiro script que não funciona automaticamente...
porém nos logs ele me mostra que foi executado

Thu Nov 21 09:10:01 BRST 2013

No log mostra que foi executado sim... mas não obtive resultados...
e quando startado manualmente ou seja ./usr/local/bin/carga_comercial.sh ele
mostra no log que foi executado e sim realmente houve mudanças nos resultados,
ou seja, funciona manualmente.


  


2. Re: crontab [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 21/11/2013 - 10:25h

O que tem neste comercial.sh?

O crontab normalmente precisa passar o caminho do executavel ex:

"/sbin/iptables" do lugar de somente "iptables"

Ja tive problemas de coisas que não rodavam mas isto acusava no logs "iptables" comando não encontrado.


3. Re: crontab [RESOLVIDO]

Rodrigo
rodrigosurf

(usa Slackware)

Enviado em 21/11/2013 - 10:43h

Então... ele está assim

ONCONFIG=onconfig.ctba;

date > /etc/admin/carga_comercial.log

cd /usr/local/bin/
dbaccess logix << EOF

execute procedure eis_p_comercial( last_day( add_months(today,-4) ) + 1, last_day( today ) );

EOF >


Lembrando que manual funciona corretamente....
porém programado no crontab não está starntando.

Acredito que se tivesse algum erro no script, nem manual ele não rodaria.


4. Re: crontab [RESOLVIDO]

Hebert Ribeiro de Souza
sapopsy

(usa Slackware)

Enviado em 21/11/2013 - 10:47h

Qual o proprietário do arquivo, e qual usuário ta executando o CRON?


5. Re: crontab [RESOLVIDO]

Rodrigo
rodrigosurf

(usa Slackware)

Enviado em 21/11/2013 - 10:50h

root root


6. Re: crontab [RESOLVIDO]

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 21/11/2013 - 22:21h

Quando você executa o script manualmente ele exibe alguma mensagem na tela? se sim, essa é a causa do erro.

O cron não consegue executar scripts que apresentam mensagem (de status, alerta, erro, etc).

Tente direcionar a saída para um arquivo, assim você sabe se houve um erro durante a execução dos comandos, além do cron conseguir executá-lo normalmente.




7. Re: crontab [RESOLVIDO]

Rodrigo
rodrigosurf

(usa Slackware)

Enviado em 25/11/2013 - 10:30h

Redirecionei a saida, e não aparece nada nos logs "0 bytes" de erros
mas aparece a data/hora que startou o script

Muito estranho isso...

Só lembrando la no começo, ja mencionei que com os scripts estão tudo
OK... desde permissões, grupos, até o agendamento no cron

tanto que os demais scripts startam automaticamente normal, sempre problemas
nenhum...

e esse startando manual funciona corretamente.... nao tem erro no script


8. Re: crontab [RESOLVIDO]

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 26/11/2013 - 14:26h

rodrigosurf escreveu:

Redirecionei a saida, e não aparece nada nos logs "0 bytes" de erros
mas aparece a data/hora que startou o script

Muito estranho isso...

Só lembrando la no começo, ja mencionei que com os scripts estão tudo
OK... desde permissões, grupos, até o agendamento no cron

tanto que os demais scripts startam automaticamente normal, sempre problemas
nenhum...

e esse startando manual funciona corretamente.... nao tem erro no script


Pois provavelmente é esta data aí que está impedindo dele ser executado.

Teste alguma opção:

1 - Verifique se o arquivo que recebe a data (/etc/admin/carga_comercial.log) existe e tem permissão de escrita.

2 - Comente ou apague o comando date de dentro do script para testar.

3 - Modifique a saída padrão do script:

30 09 * * * /usr/local/bin/carga_imp_prev.sh 1> saidapadrao.txt
30 18 * * * /usr/local/bin/carga_conversar.sh 1> saidapadrao.txt
10 09 * * * /usr/local/bin/carga_comercial.sh 1> saidapadrao.txt


9. Re: crontab [RESOLVIDO]

Rodrigo
rodrigosurf

(usa Slackware)

Enviado em 28/11/2013 - 11:16h

Galera obrigado pela força./...

Descobri... o problema era no meu dbaccess dentro do script
a função que o script estava chamando estava incompleta...




10. Re: crontab [RESOLVIDO]

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 02/12/2013 - 10:14h

De nada.

Precisando posta.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts